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对象,需要知道如何检索对象中作为集合包含的属性值。这个答案正是我所需要的。我不明白为什么它一开始就被否决了。