Итак, вот вопрос для мастера Django. Я наследую менеджер объектов что-то вроде следующего:
class MyObjManager(models.Manager):
def total_values(self, myobj_id):
return 49
def what_the_heck(self, poll_id):
return 48
class TestMe():
def what_the_heck(self, poll_id):
return 47
Теперь, если я создам модель, которая использует этот диспетчер объектов, как показано ниже, она, похоже, не будет работать.
class MyObj(models.Model):
x = models.CharField(max_length=200)
y = models.DateTimeField('date published')
objects = MyObjManager()
kb = MyObjManager()
testMe = TestMe()
def total_values(self):
#A return self.objects.total_values(1)
#B return self.objects.yyy(1)
#C return self.kb.what_the_heck(1)
#D return 50
#E return self.testMe.what_the_heck(1)
#F return self.objects.what_the_heck(1)
Теперь предположим, что A, B, C, D, E закомментированы по одному соответственно. Вот результаты, если я позвоню myObj.total_values. (где myObj является экземпляром MyObj)
А) ничего
Б) ничего
В) ничего
D) 50
Е) 47
F) Ничего
Я использовал два менеджера объектов в этом примере, но то же самое происходит, если я использую только один. Любое понимание того, почему я не могу получить доступ к методам в моем переопределенном диспетчере объектов?