python - 如何将对象添加到查询集中?

标签 python django django-queryset

我的示例代码是:

from django.db import models
from django.contrib.auth.models import User

class Category(models.Model):
    user = models.ForeignKey(User, null=True)
    ....

我想做一些这样的事情:

user = User.objects.none()

categories = Category.objects.filter(**filter)

for category in categories:

    # my problem is here , how add user category object to queryset
    # or merge object and queryset
    user = user | category.user

这部分代码用于显示问题:

    user = user | category.user

谢谢。

最佳答案

你不能这么做。查询集是满足查询的对象的容器,因此得名。它不是任意对象的容器。

这里正确的做法是直接查询你需要的用户。您可以使用双下划线语法来跟踪与 Category 对象的关系:

users = User.objects.filter(category__criteria=value)

关于python - 如何将对象添加到查询集中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19075128/

相关文章:

python - 在 Django 管理中,如何强制 "View on Site"按钮忽略站点?

django - 我如何按 Django 中的计算字段复杂排序?

python - 在 Django 数据库中查找电话号码后添加其他字段

python - virtualenv 到 Windows 10 上的路径

python - 散点图覆盖的 matplotlib 轴刻度标签(使用脊柱)

python - WXPython:填充列表框的问题

python - 带有 uwsgi、nginx 的 Django 应用程序 : "no module called site"

python - 在featuretools中使用cutoff_times进行预测

python - “不同”条目仅用于使用 Django 创建 sitemap.xml 文件 (1.5.4)

python - 如何让django QuerySet会动态过滤?