查询Django对象的一对多相关对象的数量

时间:2011-03-29 15:35:21

标签: django one-to-many

我想在Django中更新一个对象,如果它只有一个一对多关系(父对象,它被软删除。)

有没有办法查询对象以找出它有多少对多关系?

这是我的尝试(失败):

  pages = Page.objects.filter(accounts=accountid)
    for page in pages:
        if page.accounts.all().count == 1:
            page.deleted = 1
            user.save()  

感谢。

1 个答案:

答案 0 :(得分:2)

不确定您的架构,但在我的示例中,Car对象有一个Fk to User calles'user':

User.objects.annotate(num_cars =计数( '汽车'))。过滤器(num_cars = 1) 这为您提供只有一辆车的用户。

http://docs.djangoproject.com/en/dev/topics/db/aggregation/#joins-and-aggregates