def index(request):
context_dict = {}
#products_page_all = ProductsPageAll.objects.all()
#context_dict['products_page_all'] = products_page_all
#for x in products_page_all:
# pages = ProductsPageViews.objects.filter(product=x)
# context_dict['pages'] = pages
#for productpage in products_page_all:
# for page in productpage.productspageviews_set.all:
products_page_all = ProductsPageAll.objects.all().prefetch_related('productspageviews_set')
context_dict['products_page_all_list'] = products_page_all
return render(request, 'pec/index.html', context_dict)
预取与未提取productspageviews_set的查询相关。 我想知道两种模型的所有对象,然后将其转换为模板。 如果我使用错误的查询,请告诉我。 我很喜欢DJANGO。
这是我的模特。
class ProductsPageAll(models.Model):
product_name = models.CharField(max_length=500, unique=True)
product_image = models.ImageField(upload_to='img/products')
product_description = models.CharField(max_length=1000)
def __unicode__(self):
return self.product_name
return self.product_description
class ProductsPageViews(models.Model):
product = models.ForeignKey(ProductsPageAll)
product_view_image = models.ImageField(upload_to='img/products/views')
product_view_content = models.CharField(max_length=500)
product_view_description = models.CharField(max_length=1000)
def __unicode__(self):
return self.product_view_content
return self.product_view_description
这是我呈现我的对象的模板。 但是只有pageviews.product_name工作N低于循环不会发现任何数据 它只给我一个空白列表
{% for pageviews in products_page_all_list %}
<div class="row">
<div class="col-lg-12 text-center">
<h3 class="section-subheading text-muted">{{ pageviews.product_name }}</h3>
</div>
</div>
{% for a in products_page_all_list.productspageviews_set.all %}
<div class="row text-center">
<div class="col-sm-4">
<img src="{{a.product_view_image.url}}" class="img-responsive" alt="">
<h4 class="service-heading">{{a.product_view_content}}</h4>
<p class="text-muted">{{a.product_view_description}}</p>
</div>
</div>
{% endfor %}
<div class="row">
<div class="col-lg-8 col-lg-offset-2 text-center">
<div class="button-div">
<a href="/products" class="btn btn-xl">Tell Me More</a>
</div>
</div>
</div>
{% endfor %}
答案 0 :(得分:0)
你在内循环中重复错误的事情。它应该是:
{% for a in pageviews.productspageviews_set.all %}