【发布时间】:2015-11-17 23:04:21
【问题描述】:
这两种查询的性能差异有多大?
假设我有这 3 个模型:
class Brand(models.Model):
brand_name = models.CharField()
class Model(models.Model):
brand = Models.ForeignKey(Brand)
model_name = models.CharField()
class Listing(models.Model):
model = Models.ForeignKey(Model)
listing_info = models.CharField()
我在模板中显示了数千个列表,我想显示每个列表的品牌名称和型号名称。
在模板中我这样列出:
<p>{{ listing.model.brand.brand_name }}</p>
<p>{{ listing.model.model_name }}</p>
<p>{{ listing.listing_info }}</p>
现在考虑我是否在列表模型中列出了这些值(复制数据):
class Listing(models.Model):
model = Models.ForeignKey(Model)
brand_name = models.CharField()
model_name = models.CharField()
listing_info = models.CharField()
然后在模板中我可以简单地列出:
<p>{{ listing.brand_name }}</p>
<p>{{ listing.model_name }}</p>
<p>{{ listing.listing_info }}</p>
除了数据重复的问题之外,这两种设置之间的性能差异有多大?
【问题讨论】:
标签: python django django-templates django-orm