我有这个观点,对:
def thisviewright(request,pk):
theadd = adds.objects.filter(id=pk)
theaddlist = adds.objects.filter(category=add.category)
return render_to_response..
我正在尝试获取该类别,以便显示具有相同类别的所有其他添加。 因为我没有从URL传递类别,所以我必须从添加中获取它,我传递的是谁。
但是我收到了一个错误: Queryset没有属性Category
模型如下:
class adds(models.Model):
title = models.CharField(max_length=255)
category = models.ForeignKey('categories')
...
class categories(models.Model):
title = models.CharField(max_length=255)
这么长的问题简短,如何通过使用我传递的对象中的类别来获得相同类别的相关添加?
答案 0 :(得分:1)
在视图的第一行,您将返回一个查询集,而不是一个对象。虽然此查询集只包含一个对象,但使用过滤器构建的其他对象将包含多个成员。
要返回对象而不是具有该行的查询集,请使用以下任一行:
theadd = adds.objects.get(id=pk)
theadd = adds.objects.filter(id=pk)[0]
您应该只使用第一个唯一索引属性(即id),因为如果有多个对象符合该条件,它将失败并显示错误。