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