2016-03-28 14 views
1
TypeError at /api/team/ 
The `fields` option must be a list or tuple or "__all__". Got str. 
Request Method: GET 
Request URL: http://127.0.0.1:8000/api/team/ 
Django Version: 1.9 
Exception Type: TypeError 
Exception Value:  
The `fields` option must be a list or tuple or "__all__". Got str. 
Exception Location: /Library/Python/2.7/site-packages/rest_framework/serializers.py in get_field_names, line 971 
Python Executable: /usr/bin/python 
Python Version: 2.7.10 
Python Path:  
['/Desktop/webprog/python/wsgi/openshift', 
'/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg', 
'/Library/Python/2.7/site-packages', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC'] 
Server time: Mon, 28 Mar 2016 14:42:11 +0000 

Bu hata ne anlama geliyor ve nerede gerçekleşiyor? İstisna Yer diyor ama bu rest_framework içinde ... ama hata benim kodumun içinde, nasıl öğrenebilirim? : SDjango Hatası "Fields" seçeneği bir liste veya tuple veya "__all__" olmalıdır. "

serializers.py

from api.models import Team 
from rest_framework import serializers 

class TeamSerializer(serializers.HyperlinkedModelSerializer): 
    class Meta: 
     model = Team 
     fields = ('name') 
+0

Diğer kod parçalarınızı da ekleyebilirsiniz (serializer) – Anoop

cevap

9

Sadece bu değiştirmeniz gerekir: Buna

fields = ('name') 

:

fields = ('name',) 

Not virgül. Yalnızca bir nesneye sahip bir tuple, parantez içine alınmış bir nesneden ayırmak için bir arka virgül gerektirir.

İlgili konular