我很難理解如何在Django 1.6中使用modelManager。Django中的模型管理器 - 沒有對模型類的引用?
我不明白讓這段代碼起作用的魔法在哪裏。
在get_queryset(self)方法中,沒有參考Book類,因此DahlBookManager如何知道它需要在執行super時使用Book實例(DahlBookManager,self)(對Book模型沒有引用,據我所知,self指的是「DahlBookManager」類型的對象,而不是Book)。
因此,無論是有某種魔法,或者我真的需要審查我的Python 101.我很樂意有一些幫助,謝謝!
# First, define the Manager subclass.
class DahlBookManager(models.Manager):
def get_queryset(self):
return super(DahlBookManager, self).get_queryset().filter(author='Roald Dahl')
# Then hook it into the Book model explicitly.
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
objects = models.Manager() # The default manager.
dahl_objects = DahlBookManager() # The Dahl-specific manager.
但你已經在'dahl_objects明確關聯此經理,'Book' = DahlBookManager( )「對嗎? – karthikr 2014-09-03 15:26:01