Skip to content

Commit f6071b7

Browse files
author
Daniel Townsend
committed
fixing bug with select *
1 parent cbdfaa3 commit f6071b7

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

piccolo/columns/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def get_full_name(self, just_alias=False) -> str:
8282
column_name = self._name
8383

8484
if not self.call_chain:
85-
return f"{self.table.Meta.tablename}.{column_name}"
85+
return f"{self._table.Meta.tablename}.{column_name}"
8686

8787
column_name = (
8888
"$".join([i._name for i in self.call_chain])

piccolo/query/methods/select.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ def querystring(self) -> QueryString:
8080
joins: t.List[str] = []
8181

8282
if len(self.selected_columns) == 0:
83-
columns_str = "*"
84-
else:
85-
column_names: t.List[str] = [
86-
c.get_full_name() for c in self.selected_columns
87-
]
88-
columns_str = ", ".join(column_names)
83+
self.selected_columns = self.table.Meta.columns
84+
85+
column_names: t.List[str] = [
86+
c.get_full_name() for c in self.selected_columns
87+
]
88+
columns_str = ", ".join(column_names)
8989

9090
#######################################################################
9191
# JOIN

piccolo/table.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,6 @@ def __new__(cls, name, bases, namespace, **kwds):
4141
table.Meta.tablename = _camel_to_snake(name)
4242

4343
columns = []
44-
for key, value in namespace.items():
45-
if issubclass(type(value), Column):
46-
columns.append(value)
47-
value._name = key
48-
value._table = table
4944

5045
# In case super classes also have columns.
5146
if bases:
@@ -55,6 +50,15 @@ def __new__(cls, name, bases, namespace, **kwds):
5550
if _columns:
5651
columns = _columns + columns
5752

53+
if 'id' not in namespace.keys():
54+
namespace['id'] = PrimaryKey()
55+
56+
for key, value in namespace.items():
57+
if issubclass(type(value), Column):
58+
columns.append(value)
59+
value._name = key
60+
value._table = table
61+
5862
table.Meta.columns = columns
5963
table.Meta.non_default_columns = [
6064
i for i in columns if type(i) != PrimaryKey
@@ -176,8 +180,6 @@ def select(cls) -> Select:
176180

177181
class Table(metaclass=TableMeta):
178182

179-
id = PrimaryKey()
180-
181183
class Meta:
182184
tablename = None
183185
columns: t.List[Column] = []

0 commit comments

Comments
 (0)