我有三个模型
在模型.py在
class Book(models.Model):
name = models.CharField(max_length=255, primary_key=True)
...
class BookTranslation(models.Model):
book = models.ForeignKey(Book, related_name='translations')
language = models.CharField(max_length=2, choices=LANGUAGE_CHOICES)
...
class Chapter(models.Model):
book_translation=models.ForeignKey(BookTranslation,related_name='chapters')
...
我想用一种语言为一本书创建一个DetailView,我的第一种方法是这样的:
在视图.py在
^{pr2}$但是通过这种方式,我会返回所有相关的书籍翻译和章节,而不仅仅是我想要的语言…
是否可以过滤select_-related,以便在我的模板中{{图书.翻译}}我只有我要求的语言的翻译(章节相同)?在
由于您希望获得一本具有特定BookTranslation的书,因此您最好将查询基于BookTranslation并从中获取Book对象。在
也就是说,用这样的东西
你就可以通过了自译图书作为上下文变量在模板中访问它。在
您可以尝试这样的方法,只访问数据库一次并获取相关结果:
相关问题 更多 >
编程相关推荐