我有一个模型,我从中创建了一个代理模型,以便我可以覆盖默认“对象”管理器的 get_query_set 方法。该模型实现了AuditTrail,但代理忽略了它——这不是我想要的。我希望通过代理模型进行 save() 来更新审计跟踪,就像模型一样。
class SubjectConsent(BaseSubjectConsent):
history = AuditTrail()
class SubjectConsentY1(SubjectConsent):
objects = SubjectY1Manager()
class Meta:
proxy = True
这种行为是预期的吗?也就是说,模型的管理器对代理不可用吗?
我的自定义管理器如下所示:
class SubjectY1Manager(models.Manager):
def get_query_set(self):
return QuerySet(self.model, using=self._db).filter(survey__survey_slug = 'mpp-year-0')