如何解决修补方法不适用于嵌套模型序列化器中的id
我有两个模型,我想更新它们。当我更新除 ID 以外的其他字段时,它可以正常工作。但是,我无法更新如下所示的矩阵单元对象的 ID 字段。此外,我在get方法中看到了 ID 字段。
class MatrixSerializer(serializers.ModelSerializer):
matrix_cell = MatrixCellSerializer(many=True)
class Meta:
model = Matrix
fields = ["id",......,"matrix_cell"]
def update(self):
for m in matrix_cells:
m.get("id") #this return None
m.get("name") #but this works
class MatrixCellSerializer(serializers.ModelSerializer):
class Meta:
model = MatrixCell
fields = "__all__"
解决方法
我在MatrixCell序列化器中添加了id = serializers.CharField()
,并解决了问题。
class MatrixCellSerializer(serializers.ModelSerializer):
id = serializers.CharField()
class Meta:
model = MatrixCell
fields = "__all__"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。