[英]paginating with one-to-many relation in django
我有1个相关模型。
class Foo(models.Model):
foo_data = models.IntegerField()
class Bar(models.Model):
foo = models.ForeignKey(Foo, related_name="bars")
bar_data = models.IntegerField()
paginator = Paginator(Foo.objects.filter(id=foo_id), 10)
page = 1
foos = paginator.page(page)
我需要在Django模板中显示每个foo对象的bar数据。
什么是首选方法?
您可以在Foo类中创建一个属性以返回相关的Bar:
class Foo(models.Model):
foo_data = models.IntegerField()
def _get_bars(self):
return self.bars.all()
bars = property(_get_bars)
然后在模板中使用{%for foo.bars%}中的bar
编辑:或者您可以在模板中使用{%for foo.bars.all%}中的bar,我认为,如果您需要进行一些额外的过滤,则属性很有用,但如果要全部使用,则在这里并不需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.