2016-03-20 6 views
-1

Я пытаюсь работать с DRf, но в какой-то момент я получил сообщение об ошибке: TypeError: 'dict' object is not callable. Это происходит каждый раз, когда я отправляю список в JSON в сериализатор:DRD: объект «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 

My JSON выглядит следующим образом: {"user_tag":["bc41fbef-7df0-4135-8374-29e35145fedb"]}

+1

Это только предположение, но вы пробовали удаление скобок в 'ид = 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)` 
Смежные вопросы