我想在Django中更新一个对象,如果它只有一个一对多关系(父对象,它被软删除。)
有没有办法查询对象以找出它有多少对多关系?
这是我的尝试(失败):
pages = Page.objects.filter(accounts=accountid)
for page in pages:
if page.accounts.all().count == 1:
page.deleted = 1
user.save()
感谢。
答案 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