【问题标题】:DRF: 'dict' object is not callableDRF:“dict”对象不可调用
【发布时间】:2016-07-07 00:37:06
【问题描述】:

我正在尝试使用 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"]}

【问题讨论】:

  • 这只是一个猜测,但您是否尝试过删除id = serializers.UUIDField() 中的括号?我需要完整的追溯才能确定。

标签: python json django django-rest-framework


【解决方案1】:

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

for tag_id in validated_data['user_tag']:

【讨论】:

    【解决方案2】:
    for tag_id in validated_data['user_tag']:
        tag = UserTag.objects.get(id=tag_id.id)
        instance.user_tag.add(tag)`
    

    【讨论】:

      猜你喜欢
      • 2011-10-01
      • 2020-09-03
      • 2012-10-31
      • 1970-01-01
      • 2017-05-27
      • 2016-03-07
      • 2017-02-11
      • 2019-08-10
      相关资源
      最近更新 更多