外键上的 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 = True
上 AllUserManager
。
我有模型用户。有两个管理器,过滤由 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 = True
上 AllUserManager
。