使用嵌套序列化程序创建模型实例

2024-04-25 19:18:21 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有以下数据库:

class A(models):
    b = ForeignKey(b)

class B(models):
    pass

为此,我有序列化程序:

class ASerializer(serializers.ModelSerializer):
    class Meta:
       model = A

class BSerializer(serializers.ModelSerializer):
    a = ASerializer()
    class Meta:
        model = B

如果我这样做了:

b = BSerializer(data=data) #with the data of A as well (ie: {'name':'test a', 'a':{'name':'test'}}

以及:

b.save()

这个场景也会尝试保存A,但是如果A有一个B所需的外键,但是在分配它之前需要先创建B。你知道吗

在这些情况下,是提供单独的序列化程序而不是嵌套更好,还是有办法解决这个问题?你知道吗


Tags: nametest程序数据库datamodel序列化models