我有这样的模型:
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的地方再次出现错误。关于正确使用这种字段有什么想法吗?
write_only
Meta