Django Restful фреймворк для создания внешнего ключа, если он еще не существует - PullRequest
0 голосов
/ 04 июня 2018
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 и если ModelA и ModelB еще не существуют, создайте их.Прямо сейчас я могу сделать сообщение с существующими моделью A и моделью B, удалив вложенный сериализатор.

Спасибо всем за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...