我在django rest框架中自动设置用户时遇到了一个问题。在我的模型中。py我有以下几点:
型号。py公司
class Space(models.Model):
creator = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
序列化程序。py公司
class SpaceSerializer(serializers.HyperlinkedModelSerializer):
creator = serializers.PrimaryKeyRelatedField(read_only=True, default=serializers.CreateOnlyDefault(serializers.CurrentUserDefault()))
class Meta:
model = Space
fields = '__all__'
其目的是在通过API创建期间设置creator字段。当我发出POST请求以创建模型时,我得到以下错误:
“IntegrityError at/api/space/NOT NULL约束失败:
apiapp\u空间。creator\u id
我假设序列化程序甚至没有使用此字段重写,因为当我在模型中设置null=True时,它似乎在创建者字段设置为null的情况下正确保存。
注意,我也尝试过使用序列化程序。ModelSerializer。
如何让django识别此字段重写?