DRF:'dict'对象不可调用

时间:2016-03-20 14:48:19

标签: python json django django-rest-framework

我正在尝试使用DRf,但在某些时候我收到一条错误消息:TypeError: 'dict' object is not callable.每次我将JSON中的列表发送到序列化程序时都会发生这种情况:

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"]}

2 个答案:

答案 0 :(得分:4)

就像错误所说,validated_data是一本字典;你不能使用调用括号访问那些,你使用索引括号:

for tag_id in validated_data['user_tag']:

答案 1 :(得分:-1)

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