在Django中如何从RawQuerySet中检索值?

2024-04-24 08:39:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我的输入查询是

query = "select * from tab1 left join tab2 on tab2.patient_id =tab1.patient_id ,tab3 left join tab4 on tab4.patient_id =tab3.patient_id"

data = model_name.objects.raw(query)

如何从RawQuerySet检索值?


Tags: namefromiddatamodelonqueryleft
1条回答
网友
1楼 · 发布于 2024-04-24 08:39:10

通过使用Managerraw方法进行原始查询获得的结果生成类似于使用getfilter方法生成的实例的实例。要获取字段,只需执行obj_name.attr
例如:

class Tab(models.Model):
    field1 = models.BooleanField()
    field2 = models.PositiveIntegerField()

query = "select * from app_name_tab"
objs = Tab.objects.raw(query)
for obj in objs:
    print obj.field1, obj.field2

有关详细信息,请参阅https://docs.djangoproject.com/en/dev/topics/db/sql/

相关问题 更多 >