我有這個tastypie資源:tastypie查詢集值
class TagResource_min(ModelResource):
class Meta:
queryset=Question.objects.values('text', 'id')
當我做到這一點我有錯誤:
{
"error_message": "'dict' object has no attribute 'pk'",
"traceback": "
Traceback (most recent call last):
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 219, in wrapper
response = callback(request, *args, **kwargs)
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 450, in dispatch_list
return self.dispatch('list', request, **kwargs)
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 482, in dispatch
response = method(request, **kwargs)
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 1340, in get_list
for obj in to_be_serialized[self._meta.collection_name]
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 1340, in <listcomp>
for obj in to_be_serialized[self._meta.collection_name]
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 895, in full_dehydrate
data[field_name] = method(bundle)
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 1068, in dehydrate_resource_uri
return self.get_resource_uri(bundle)
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 819, in get_resource_uri
return self._build_reverse_url(url_name, kwargs=self.resource_uri_kwargs(bundle_or_obj))
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 798, in resource_uri_kwargs
kwargs.update(self.detail_uri_kwargs(bundle_or_obj))
File \"/home/will/agora/env/lib/python3.5/site-packages/tastypie/resources.py\", line 775, in detail_uri_kwargs
kwargs[self._meta.detail_uri_name] = getattr(bundle_or_obj, self._meta.detail_uri_name)
AttributeError: 'dict' object has no attribute 'pk'"
}
的'dict'
它指的是必須在查詢集獲得通過Question.objects.values('text', 'id')
。當我登錄到外殼,並要求Question.objects.values('text', 'id')
我有以下幾點:
<QuerySet [{'text': 'Why does capillary action take place?', 'id': 1}, {'text': "If a human brain was connected to a fish's body, how would the humans thoughts change?", 'id': 2},...
什麼我用objects.values()
做錯了什麼?如何使用objects.values()
顯示新的查詢集?
EDIT當我使用Question.objects.values()
它返回的dict
陣列不具有該屬性dict.pk
。但是當我做Question.objects.all()
它返回一個ModelResource
類型的數組,當我呼叫ModelResource.pk
時,它們都返回一個整數。
這個信息不是很有用......哈哈。因爲我確信解決方案在於tastypie或django庫。儘管如此,如果我能想出一種方法將pk附加在能解決我的問題的字典上。
你能否提供堆棧跟蹤? –
我用追溯更新了它。並添加了評論。 – Tsangares
謝謝@Evans修復追蹤,並添加我的評論。 – Tsangares