【发布时间】:2014-09-14 17:07:36
【问题描述】:
我刚开始使用 DRF,我发现自己有点挣扎。我正在尝试创建一个使用模型序列化程序的基于类的视图。但是,无论我尝试什么,我都会不断收到此错误:
'QuerySet' 对象没有属性'code'
我的模型确实有这个属性,并且我已经确认查询集(当作为值转储时)也有这个属性。
models.py
class Category(models.Model):
code = UUIDField(unique=True)
name = models.CharField(max_length=100, null=True, blank=True, unique=True)
parent_cat = models.ForeignKey('self', null=True, blank=True)
def __unicode__(self):
return self.name
urls.py
urlpatterns = patterns('', url(r'^', views.CatView.as_view()))
views.py
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
class CatView(APIView):
def get(self, request, format=None):
queryset = Category.objects.all()
serialized = CategorySerializer(queryset)
return Response(serialized.data)
如果我转储 Category.objects.all() 调用的输出,我会看到以下数据:
[{'id': 1, 'code': '7889022e-4e03-4c27-860a-f07c2477db0c', 'parent_cat_id': None, 'name': 'Women'}, {'id': 2, 'code': '167c2578-b747-41f5-b2ad-1aa7e3f63952', 'parent_cat_id': 1, 'name': 'Clothing'}, {'id': 3, 'code': '176e0db1-1a4a-4cd3-a6f3-0cac07ab748c', 'parent_cat_id': 1, 'name': 'Dresses'}]
所以我至少可以验证数据是否正确地从我的模型中出来。但是,当我尝试返回响应时,我看到以下错误:
AttributeError at /category/
'QuerySet' object has no attribute 'code'
从我所看到的一切来看,我可以说它确实具有该属性。我哪里出错了?
【问题讨论】:
标签: python django django-rest-framework