【问题标题】:Django, using ANY in a query [duplicate]Django,在查询中使用 ANY [重复]
【发布时间】:2014-10-20 18:27:18
【问题描述】:

基本上我必须这样做:

WHERE NOT (`video_video`.`id` = **ANY** (SELECT `userPreferences_history`.`video_id` FROM `userPreferences_history`))

但使用:

.exclude(id=history_list)

我刚刚得到:

WHERE NOT (`video_video`.`id` = (SELECT `userPreferences_history`.`video_id` FROM `userPreferences_history`))

当我从子查询中获得超过 1 个结果时,'子查询返回超过 1 行

我该怎么做?

固定如下:Django object multiple exclude()

【问题讨论】:

    标签: python mysql django django-queryset


    【解决方案1】:

    假设您的 history_list 是正确的子查询,.exclude(id__in=history_list)

    【讨论】:

    • 谢谢彼得,正是我想要的!
    • 作为一般规则,如果您希望从子查询中获取结果,即使只有一个可能的结果,使用“in”总是比使用“=”更好。跨度>
    • 感谢您的提示,@cwallenpoole
    猜你喜欢
    • 2020-03-06
    • 2017-03-01
    • 2022-01-01
    • 2019-12-31
    • 2012-04-19
    • 2017-11-03
    • 2019-04-20
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多