我编写自定义管理器以便在模板中使用它以在侧面板上显示相关图片。 我的经理工作错了,我不明白为什么。django相关对象使用cusom管理器进行过滤
class RelatedPicsManager(models.Manager):
use_for_related_fields = True
def sidepics(self):
return super(RelatedPicsManager, self).get_queryset().filter(side = True)
class News (models.Model):
...
pass
class ExtPhoto(models.Model):
news = models.ForeignKey(News, related_name = 'extphotos')
side = models.BooleanField(...)
...
objects = RelatedPicsManager()
当我得到的消息,并尝试一下它的所有侧面图片
>>> onnews.extphotos.sidepics()
我的经理返回所有ExtPhoto与侧对象=真。 但我只需要与“onenews”相关。
你不能那样做。上下文在你的经理中丢失了。您最好使用onenews.objects.side_extphotos()来代替。 – gawel