【问题标题】:How can i select some columns with or operator in views? [duplicate]如何在视图中选择一些带有或运算符的列? [复制]
【发布时间】:2021-10-13 06:55:23
【问题描述】:

如何在views.py 中使用select 选择带有or 运算符的一些列? 我想在 Django 的 views.py 中运行以下查询:

SELECT name,family FROM student WHERE male = True OR degree=False

我使用了这个 ORM:

student = stu.objects.filter(male = True).values('name','family') | stu.objects.filter(degree = False).values('name','family')

这是正确的吗?有没有办法可以在查询中删除重复的values('name','family')

【问题讨论】:

  • 这能回答你的问题吗? OR operator in Django model queries
  • 这是否将字段分为两组?一边是名字,一边是家人?
  • 不,这个链接不是我的问题。我也想选择一些字段。
  • 我不确定,刚刚看到您的标题并发送此链接。
  • "我也想选择一些字段。"你已经用values() 做到了。将其与 Q() 结合起来,如 Alireza 链接的问题所示,以获得完整答案。

标签: django django-models django-orm


【解决方案1】:

您可以使用 Q 对象来做到这一点:

https://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects

from django.db.models import Q

student = stu.objects.filter(Q(male = True) | Q(degree = False)).values('name','family')

【讨论】:

    猜你喜欢
    • 2018-04-06
    • 2015-03-10
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    相关资源
    最近更新 更多