我需要在多个表上执行原始的sql。然后我渲染结果集。对于一个表,我会做:django/python:与多个表的原始sql
sql = "select * from my_table"
results = my_table.objects.raw(sql)
多个表我做:
sql = "select * from my_table, my_other_table where ...."
results = big_model.objects.raw(sql)
可是,我真的需要创建一个表/模型/类big_model,它包含了所有领域,我可能需要?我永远不会在这个“表格”中存储任何数据。
添加:
我有一个表my_users。我有一个表my_listings。这些在Models.py中定义。表my_listings对my_users有一个外键,指示谁创建了该列表。
的SQL是
"select user_name, listing_text from my_listings, my_users where my_users.id = my_listings.my_user_id".
我想这个SQL生成,我可以用它来使我的网页在Django的结果集。
问题是:我是否必须创建一个包含字段user_name和listing_text的模型?还是有一些更好的方式仍然使用原始SQL(select,from,where)?当然,我的实际查询比这个例子更复杂。 (我在models.py中定义的模型成为数据库中的实际表格,因此使用了模型/表格术语。不知道该如何引用它们,对不起。)我使用原始的sql,因为我发现python表格只引用使用简单的数据模型。
目前尚不清楚你在这里试图完成什么。也许显示关于你的模型的更多细节以及这个查询意味着做什么会有所帮助。 –
我想从多个表中选择表中的外键连接。我不需要帮助编写实际的查询。对不起,我不确定为什么不明确:( – user984003
它看起来像你需要帮助的查询。我不知道你为什么认为你需要原始SQL来做到这一点在Django。如果你不需要帮助编写查询,然后我对你提问的想法更少了 –