oro*_*aki 2 django django-models django-managers
class SupercalifragilisticexpialidociousManager(models.Manager):
# Sorry, I'm sick of Foo and Spam for now.
def get_query_set(self, account=None):
return super(SupercalifragilisticexpialidociousManager,
self).get_query_set().filter(uncle=model_thats_using_this_manager_instance.uncle)
Run Code Online (Sandbox Code Playgroud)
我正在寻找的魔法是"叔叔= model_thats_using_this_manager_instance.uncle".看起来我应该能够以某种方式做到这一点.我知道我可以说self.model要获得模型,但如何获取实例?
当你使用经理时,要求一个实例是没有意义的.管理器是类级属性 - 如果你尝试并且在foo.objects.all()哪里做fooSupercalifragilisticexpialidocious的实例,你将明确地得到一个错误:
AttributeError: Manager isn't accessible via Supercalifragilisticexpialidocious instances
Run Code Online (Sandbox Code Playgroud)