如何将对象添加到queryset?

时间:2013-09-29 06:25:28

标签: 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

thanx。

1 个答案:

答案 0 :(得分:1)

你做不到。 Queryset是满足查询的对象的容器,因此是名称。它不是任意对象的容器。

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

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