【发布时间】:2014-04-01 00:54:45
【问题描述】:
我遇到了一个问题,如果我在管理页面中删除产品,则由模板创建的链接到其余产品的所有 URL 都不再起作用,并且每个页面都会出现错误“没有图像与给定的匹配”询问。”
例如,如果只剩下一个产品,则从模板打印的 URL 应该是 .../products/1,但显示为 ../products/3 ,它什么都没有。如果我手动指向 /products/1 会进一步混淆,我也会得到同样的错误
我猜这个问题是由于 Image 和 Product 之间的外键关系或数据库如何使用 product_image_id 但我无法弄清楚。请帮忙!
型号
class Product(models.Model):
product_name = models.CharField(max_length=200)
product_type = models.CharField(max_length=200)
product_description = models.TextField()
def __unicode__(self):
return self.product_name
class Image(models.Model):
product_image = models.ForeignKey(Product)
image = models.ImageField(upload_to='image')
观看次数
def productindex(request):
product_list = Product.objects.all()
context = {'product_list' : product_list}
return render(request, 'polls/products.html', context)
def productpage(request, product_image_id):
product = get_object_or_404(Product, pk=product_image_id)
image = get_object_or_404(Image, pk=product_image_id)
product_list = Product.objects.all()
return render(request, 'polls/productpage.html', {'product': product, 'image': image, 'product_list' : product_list})
网址
url(r'products/(?P<product_image_id>\d+)/$', views.productpage, name='productpage'),
模板
{% for product in product_list %}
<a href="{% url 'polls:productpage' product.id %}"><li class="procont"></li></a>
{% endfor %}
【问题讨论】:
标签: python django postgresql web