我有一个现有的对象,但是我想在嵌套的序列化程序中创建一个对象,不幸的是,创建对象时出现错误。到目前为止,我在这里所做的事情:
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
在这里,我将通过更新现有对象来创建多个对象。使用此代码,在另一个项目中,我可以应付它,但不适用于该项目。如果不清楚,请告诉我,我将尝试更详细地解释。关键字是通过更新现有对象来创建对象。预先感谢