2016-03-20 26 views
-1

我試圖與DRf一起工作,但在某個時候出現錯誤:TypeError: 'dict' object is not callable.每當我向JSON發送一個列表時,都會發生這種情況:DRF:'dict'對象不可調用

class EmployeeDetailSerializer(serializers.ModelSerializer): 
    id = serializers.UUIDField() 

    class Meta: 
     model = User 
     fields = ('id', 'full_name', 'email', 'user_tag', 'password') 

    def update(self, instance, validated_data): 

     for tag_id in validated_data('user_tag'): 
      tag = UserTag.objects.get(id=tag_id) 
      instance.user_tag.add(tag) 

     instance.save() 
     return instance 

我的JSON是這樣的: {"user_tag":["bc41fbef-7df0-4135-8374-29e35145fedb"]}

+1

這只是一個猜測,但你嘗試過在'ID = serializers.UUIDField()'取出括號?爲了說清楚,我需要完整的回溯。 – zondo

回答

4

像錯誤說:validated_data是一本字典;你不叫括號訪問這些,你使用索引括號:

for tag_id in validated_data['user_tag']: 
-1
for tag_id in validated_data['user_tag']: 
    tag = UserTag.objects.get(id=tag_id.id) 
    instance.user_tag.add(tag)`