我有两张桌子,他们没有外键或关系。但是,我必须连接并从两个表中获取所有列。这是我所做的查询。
query = Sms.objects \
.extra(tables=['product'], where=['product.id=sms.sms_id'])
当我打印原始查询时,我可以检查它只从Sms模型获取表,而不是从产品模型中获取。有没有办法从产品型号中获取列?
答案 0 :(得分:1)
听起来你需要一些raw queries
显然,您需要根据您的需求以及您希望/需要访问数据的方式来自定义SQL。但这是一个非常简单的例子:
crsr = dbconnection.cursor()
myresults = crsr.execute("SELECT A.*, B.* FROM A,B WHERE A.ID=B.ID")
for myresult in myresults:
print('{} {} {}'. format(myresult[0], myresult [1], myresult[2]))
crsr.close()
关于这个问题的django documentation非常好。这是Django的强大功能。但是力量很大......