У меня есть такие модели:
class ModelA(models.Model):
name = models.CharField()
class ModelB(models.Model):
f1 = models.CharField()
model_a = models.ForeignKey(ModelA)
сериализаторы:
class ASerializer(serializers.ModelSerializer):
model_b_ids = serializers.CharField()
class Meta:
model = ModelA
write_only_fields = ('model_b_ids',)
Просмотры:
class AView(CreateModelMixin, GenericViewSet):
def perform_create(self, serializer):
model_b_ids = parse_somehow(serializer.validated_data["model_b_ids"])
#do something...
Проблема, которую я получаю, - это "model_b_ids"
Пользователь должен отправить его при отправке почтовых данных.
Я использую его в файле perform_create для ссылки на связанные модели.
Но это не "настоящий столбец" в ModelA, поэтому, когда я пытаюсь сохранить его, возникает исключение.
Я попробовал это всплывать из validated_data, но затем снова получаю ошибку где-то, что не может прочитать model_b_ids из модели. Любая идея по правильному использованию этого поля?