2016-03-20 25 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)`