【问题标题】:Convert a list or a raw set to a queryset将列表或原始集转换为查询集
【发布时间】:2015-04-08 21:26:38
【问题描述】:

在我的 django 视图中,我的 CBV 中有以下代码:

def get_filtered_queryset(self, queryset):
    filtered_queryset = # some code here
    document_queryset = # some code here
    return set(list(filtered_queryset) + list(document_queryset))

如何更改上述函数以返回查询集?

【问题讨论】:

  • 如果您正在谈论为两个不同的模型组合两个查询集,您根本无法这样做。

标签: django django-queryset django-1.4


【解决方案1】:

您不能将 listset 对象转换为 QuerySet

根据您正在使用的查询,您可以construct some pretty complex queries using Q Objects

例如:

from django.db.models import Q
def get_filtered_queryset(self, queryset):
    filtered_queryset = Q(question__startswith='What')
    document_queryset = Q(pub_date=date(2005, 5, 2)
    return Document.objects.get(filtered_queryset | document_queryset )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-21
    • 2020-04-01
    • 2021-11-08
    • 2019-07-19
    • 2015-08-16
    • 2018-09-12
    • 2015-06-26
    • 1970-01-01
    相关资源
    最近更新 更多