django-simple-serializer
django-simple-serializer copied to clipboard
AttributeError,AutoField' object has no attribute 'rel'
class site_menu(models.Model):
parent_id = models.IntegerField(default='')
name = models.CharField(max_length=50)
label = models.CharField(max_length=50)
url = models.TextField(default='#')
status = models.IntegerField(default=1)
class Meta:
db_table = 'site_menu'
def ModuleManageFindData(request):
page = request.GET['page']
limit = request.GET['limit']
model_list = site_menu.objects.all()
paginator = Paginator(model_list,limit)
returnData = paginator.page(page).object_list
data = {"code":"","msg":"","count":"","data":[]}
data['code'] = 0
data['msg'] = ""
data['count'] = paginator.count
# for item in returnData:
# data['data'].append({
# "id": item.id,
# "parent_id": item.parent_id,
# "name": item.name,
# "label": item.label,
# "url":item.url,
# "status": item.status
# })
data['data'] = serializer(returnData)
# data['data'] = serializer(model_list)
print(data)
return HttpResponse(json.dumps(data), content_type="application/json")
Traceback (most recent call last):
File "C:\python36\lib\site-packages\django\core\handlers\exception.py", line 35, in inner response = get_response(request) File "C:\python36\lib\site-packages\django\core\handlers\base.py", line 128, in _get_response response = self.process_exception_by_middleware(e, request) File "C:\python36\lib\site-packages\django\core\handlers\base.py", line 126, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "E:\lining\python\djangoTest\restDemo\views.py", line 37, in ModuleManageFindData data['data'] = serializer(model_list) File "C:\python36\lib\site-packages\django_simple_serializer-2.0.7-py3.6.egg\dss\Serializer.py", line 147, in serializer return s() File "C:\python36\lib\site-packages\django_simple_serializer-2.0.7-py3.6.egg\dss\Serializer.py", line 139, in call self.data_format() File "C:\python36\lib\site-packages\django_simple_serializer-2.0.7-py3.6.egg\dss\Serializer.py", line 130, in data_format self.objects = self.data_inspect(self.origin_data) File "C:\python36\lib\site-packages\django_simple_serializer-2.0.7-py3.6.egg\dss\Serializer.py", line 71, in data_inspect convert_data.append(self.data_inspect(obj)) File "C:\python36\lib\site-packages\django_simple_serializer-2.0.7-py3.6.egg\dss\Serializer.py", line 77, in data_inspect if field.rel is None: AttributeError: 'AutoField' object has no attribute 'rel'
ENV django2.0.2 python3.6 dss2.0.7
同样遇到这个问题。
期待作者解决下这个问题,在django1.9及之后版本,autoField字段类型使用remote_field而不是ref,需要做一下兼容。
期待作者解决下这个问题,在django1.9及之后版本,autoField字段类型使用remote_field而不是ref,需要做一下兼容。
在我的fork版本中已经修复了这个问题 https://github.com/Deali-Axy/django-simple-serializer