Python 从Peewee查询中删除相关表
我使用Peewee作为带烧瓶的ORM,我有一些类似的表格:Python 从Peewee查询中删除相关表,python,sql,peewee,Python,Sql,Peewee,我使用Peewee作为带烧瓶的ORM,我有一些类似的表格: class Table1(Model): column1 = TextField(null=True) column2 = TextField(null=True) class Table2(Model): column3 = TextField(null=True) column4 = TextField(null=True) table1 = ForeignKeyField(Table1,
class Table1(Model):
column1 = TextField(null=True)
column2 = TextField(null=True)
class Table2(Model):
column3 = TextField(null=True)
column4 = TextField(null=True)
table1 = ForeignKeyField(Table1, backref="related_table")
我有一个这样的疑问
model-to-dict(表2.select())
我得到以下结果
[
{
"column3" : "...",
"column4" : "...",
"related_table" : {
"column1" : "...",
"column2" : "..."
}
}
...
]
但我不想得到相关的表格。这就是我想要的
[
{
"column3" : "...",
"column4" : "..."
}
...
]
我知道我可以得到这样的结果:
model_to_dict(表2.select(表2.column3,表2.column4))
但是如果有很多专栏的话,我觉得有点烦人。
问题是,有没有更好的方法在没有相关表格或任何其他列的情况下获得结果?感谢@booshong,这个解决方案正在发挥作用:
model_to_dict(Table2.select(), recursive=False)
感谢@booshong,此解决方案正在运行:
model_to_dict(Table2.select(), recursive=False)
请共享您用于生成该输出的代码。我已经在那里写下了,输出来自
Table2.select()
query.Table2.select()
返回一个ModelSelect
对象。您的输出显示dict列表。如果您的代码尝试访问嵌套/相关对象(默认情况下,model\u to\u dict()
会这样做,除非您设置recurse=False
),peewee将自动获取并填充这些对象/值。这就是大多数ORM的工作方式。如果您只需要原始/平面数据,请执行Table2.select().dicts()
谢谢@booshong,它成功了。请共享您用于生成该输出的代码我已经在那里写了,输出来自Table2.select()
query。Table2.select()
返回一个ModelSelect
对象。您的输出显示dict列表。如果您的代码尝试访问嵌套/相关对象(默认情况下,model\u to\u dict()
会这样做,除非您设置recurse=False
),peewee将自动获取并填充这些对象/值。这就是大多数ORM的工作方式。如果您只需要原始/平面数据,请执行Table2.select().dicts()
谢谢@booshong,它成功了。