class ModelA(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=100, default='')
class ModelB(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=100, default='')
class ModelC(models.Model):
name = models.CharField(max_length=100)
modelA = models.ForeignKey(ModelA, on_delete=models.CASCADE)
modelB = models.ForeignKey(ModelB, on_delete=models.CASCADE)
这些是模特。
class ModelASerializer(serializers.ModelSerializer):
class Meta:
model = ModelA
fields = "__all__"
class ModelBSerializer(serializers.ModelSerializer):
class Meta:
model = ModelB
fields = "__all__"
class ModelC(serializers.ModelSerializer):
modelA = ModelASerializer()
modelB = ModelBSerializer()
class Meta:
model = ModelC
fields = "__all__"
这些是我的序列化程序。
现在我对GET请求没有任何问题。我想要实现的是,当我对ModelC发出post请求时,如果ModelA和ModelB尚不存在,那么创建它们。现在我可以通过删除嵌套的序列化器来发布现有的modelA和modelB。
感谢大家的帮助。