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

Django different model manager on foreign key

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

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

下一个问题。当 User is_active 为 False 时,地址不显示用户集合中的非活动用户。

是否有可能以某种方式将 AllUserManager 即时设置为某些 FK 的默认管理器?我希望能够列出地址中的所有用户,而不管他们的 activity.

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

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

此外,如果 all_users 是默认管理器,您可以 set use_for_related_fields = TrueAllUserManager