外键上的Django不同模型管理器

时间:2015-11-30 10:53:54

标签: django django-models django-database

我有模特用户。有两个管理器,UserManager过滤由is_active设置的查询,以及AllUserManager。 默认管理器设置为UserManager。

用户拥有另一个名为Address的模型的外键,其中包含related_name =' users'。

接下来是问题。当User is_active为False时,Address不会在users集合中显示非活动用户。

是否有可能以某种方式将AllUserManager设置为某些FK的默认管理器?我希望能够列出地址中的所有用户,无论他们的活动如何。

1 个答案:

答案 0 :(得分:3)

您可以specify which manager to use查询。如果all_users = AllUserManager()则:

# address is instance of Address
address.users(manager='all_users').all()

此外,如果all_users是默认管理员,您可以AllUserManagerset use_for_related_fields = True