當使用Django的REST框架我得到的錯誤通過REST查詢的Django,Django的REST - Asse田:`fields`必須是一個列表或元組
File "/folder/pythonenv/project/lib/python2.7/site-packages/rest_framework/serializers.py", line 241, in get_fields
assert isinstance(self.opts.fields, (list, tuple)), '`fields` must be a list or tuple'
AssertionError: `fields` must be a list or tuple
我的設置是....
settings.py
THIRD_PARTY_APPS = (
'south', # Database migration helpers:
'crispy_forms', # Form layouts
'rest_framework',
)
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
)
}
意見
個from django.shortcuts import render
from rest_framework import viewsets
from quickstart.serializers import from quickstart.serializers import TicketInputSerializer
from models import Abc
class TicketInputViewSet(viewsets.ModelViewSet):
queryset = Abc.objects.all()
serializer_class = TicketInputSerializer
urls.py
router = routers.DefaultRouter()
router.register(r'ticket', views.TicketViewSet)
urlpatterns = patterns('',
url(r'^', include(router.urls)),
url(r'^test', include('rest_framework.urls', namespace='rest_framework')),
)
串行器
from models import Abc
from django.contrib.auth.models import User, Group
from rest_framework import serializers
class TicketInputSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Abc
fields = ('test',)
模型
from django.db import models
class Abc(models.Model):
test = models.CharField(max_length=12)
任何想法?
嘗試,但同樣的,問題已更新 – felix001
@ felix001您是否刷新了服務器? –
@ felix001我保證這是你的問題的正確答案。在所有序列化程序中仔細檢查序列化程序的'fields'設置,並確保在完成後重啓了devserver。 –