IndexError:从空列表中弹出Django Rest Framework

时间:2020-04-27 14:10:33

标签: python django django-rest-framework

我有一个现有的对象,但是我想在嵌套的序列化程序中创建一个对象,不幸的是,创建对象时出现错误。到目前为止,我在这里所做的事情:

class AppealSerializer(serializers.ModelSerializer):
    resolutions = ResolutionSerializer(many=True, allow_null=True, required=False)

    class Meta:
        model = Appeal
        fields = ['id', 'appeal_unique_id', 'short_name', 'category', 'dept', 'state', 'appeal_desc', 'location',
                  'address', 'created_at', 'updated_at', 'resolutions', 'user']

    def update(self, instance, validated_data):
        bp_data = validated_data.pop('resolutions', [])
        bps = (instance.resolutions).all()
        bps = list(bps)
        instance.state = validated_data['state']
        instance.save()

        for b_p in bp_data:
            bp = bps.pop(0)
            bp.user = b_p.get('user', bp.user)
            bp.comment = b_p.get('comment', bp.comment)
            bp.is_read = b_p.get('is_read', bp.is_read)
            bp.save()

        return instance

在这里,我将通过更新现有对象来创建多个对象。使用此代码,在另一个项目中,我可以应付它,但不适用于该项目。如果不清楚,请告诉我,我将尝试更详细地解释。关键字是通过更新现有对象来创建对象。预先感谢

0 个答案:

没有答案