Python 如何在django中从RawQuerySet检索值?

Python 如何在django中从RawQuerySet检索值?,python,django,django-queryset,Python,Django,Django Queryset,我的输入查询是 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中检索值?使用Manager的raw方法进行原始查询所获得的结果生成的实例与使用get或filter方法

我的输入查询是

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
中检索值?

使用
Manager
raw
方法进行原始查询所获得的结果生成的实例与使用
get
filter
方法生成的实例类似。要获取字段,只需执行
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

有关更多信息,请参阅

参见此感谢您的回复。。我想访问所有字段数据。我不知道列名,因为联接查询是动态生成的……您可以使用
tab.\u meta.fields
获取表中所有字段的列表。迭代它们并使用
getattr
方法获取如下值:
用于obj中的f。_meta.fields:print getattr(obj,f)
我有一个RawQuerySet对象,需要知道如何检索对象中作为集合包含的属性值。这个答案正是我所需要的。我不明白为什么它一开始就被否决了。