2
有没有办法将自定义模型管理器应用到由默认模型管理器生成的QuerySet?结合查询集的两个模型管理器
我需要使用默认的模型管理器来过滤QuerySet,因为我有一个M2M模型,并且最简单的方法是在那里进行过滤,而不是将自定义管理器的复杂度增加一个数量级:此过滤器如下所示:
talent_set = UserProfile.objects.filter(positions=Position.objects.get(position=filter))
然后我需要我的自定义模型管理器适用于这种过滤查询,像这样:
final_talent_set = UserProfile[filtered].custom_manager.do_something()
有没有办法做到这一点,或者采用不同的方法,我应该拿?也许是将一列(从自定义管理器)追加到默认管理器的末端的一种方法?谢谢。
Silver_Ghost:伟大谢谢。如何将变量“filter”传递给MyManager?如何从视图中调用主模型?我将如何从主模型调用自定义管理器?谢谢。 – David542
变量可以传递给'do_something()'方法,但在这种情况下,'filter'应该在'do_something'中调用:def do_something(self,filter): q = self.get_query_set() q = q。过滤器(Position.objects.get(position = filter)) – Kirill
Silver_Ghost:以及如何从通过过滤器'writer'的视图调用它 - 即相当于:'UserProfile.custom_manager(filter ='writer') .do_something()'? – David542