我有很多模型在某种程度上相互参照,例如:
港口是指城市,而城市又指乡村。然后在django admin中,我想在list_display Ports country中显示:
class Country(models.Model):
title = models.CharField()
class City(models.Model):
title = models.CharField()
country = models.ForeignKey(Country)
class Port(models.Model):
city = models.ForeignKey(City)
def __str__(self):
return self.city.county.title
所以基本上django为每个端口生成了更多的查询。我假设select_related
在这种情况下会有所帮助,但是如何在模型中正确地使用它呢?在
您可以创建一个
PortManager
类并重写get_queryset
方法并在模型中引用它:根据Ivan的回答,我为与“一对多”和“多对多”关系相关的多个模型提出了以下结构,并相应地使用}。在
select_related
和{在提供的示例中,只需要
select_related
。在相关问题 更多 >
编程相关推荐