Dav*_*542 2 django django-models
有没有办法将自定义模型管理器应用于默认模型管理器生成的QuerySet?
我需要使用默认的模型管理器来过滤QuerySet,因为我有一个M2M直通模型,并且最容易在那里进行过滤,而不是将我的自定义管理器的复杂性提高一个数量级:此过滤器如下所示:
talent_set = UserProfile.objects.filter(positions=Position.objects.get(position=filter))
Run Code Online (Sandbox Code Playgroud)
然后,我需要将自定义模型管理器应用于此筛选查询,如下所示:
final_talent_set = UserProfile[filtered].custom_manager.do_something()
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,或者我应采取不同的方法?也许是一种将列(从自定义管理器)附加到默认管理器末尾的方法?谢谢.
嗯,为什么不直接使用相同filter的get_query_set()?
我的意思是:
class MyManager(models.Manager):
def get_query_set(self):
return super(MyManager, self).get_query_set().filter(
positions=Position.objects.get(position=filter)
)
def do_something(self):
q = self.get_query_set()
# do something
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
941 次 |
| 最近记录: |