python - 如何从 Django 中的 RawQuerySet 中检索值?

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

最佳答案

使用 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/

关于python - 如何从 Django 中的 RawQuerySet 中检索值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20325168/

相关文章:

django - 如何通过带注释的字段对组合查询集进行排序?

python - Django注册,模板

python - 如何使用 Stripe Checkout 实现双面推荐计划?

Django in_bulk() 使用 distinct() 引发错误

python - Twilio - 如何处理 <gather> 上没有输入的情况

python - 如何使用 Homebrew 在 OS X 上安装 Python 3.3(不是 3.4)?

带有日期时间计算的 Django 查询集注释

python - 没有重复字符的最长子字符串 - 代码在运行期间有效,但在提交同一测试用例时失败

python - 如何在每三个数字之间留出一个空格?

python - 在 Python 中翻转函数的参数顺序