在尝试从数据库获取并返回数据时遇到错误。
我正在使用switchableControllerActions
返回查询集。我正在使用的命令是get_queryset()
,但出现错误'BaseList'对象没有属性'items'。
我认为这是由于数据库中的数据所致,我的数据库data = MyModel.objects.filter(account_id=account_id)
中有这种格式的数据
Is it due to result has list of dicttionaries
models.py
{
"result" : [
{
"savings" : 43.0548666420733,
"count" : 18
},
{
"savings" : 387.651510654053,
"count" : 161
}],
}
views.py
from mongoengine import Document, fields
class MyModel(Document):
result = fields.DictField()
serializers.py
class MyModelViewset(viewsets.ModelViewSet):
renderer_classes = [renderers.JSONRenderer]
serializer_class = MyModelSerializer
def get_queryset(self):
try:
data = MyModel.objects.filter(account_id=self.kwargs['account_id'])
return data
except Exception as e:
logger.exception(e)
urls.py
class MyModelSerializer(serializers.DocumentSerializer):
class Meta:
model = MyModel
fields = '__all__
答案 0 :(得分:0)
由于我怀疑错误来自数据库。 我已经更改了
{
"result" : [
{
"savings" : 43.0548666420733,
"count" : 18
},
{
"savings" : 387.651510654053,
"count" : 161
}],
}
对此
{
"result" : {"data":[
{
"savings" : 43.0548666420733,
"count" : 18
},
{
"savings" : 387.651510654053,
"count" : 161
}]}
}
,现在一切正常。
基本上,result
的类型为array
,我已将其转换为类型object