这是我项目中的模型:
class Event(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
title = models.CharField(max_length=100)
然后我可以使用以下JSON进行POST以创建新事件
{
title:"abc",
id: "3b60a22c-d46e-46ca-b978-ec81a8b47fcc"
}
但如果我发布没有id字段
{
title:"abc"
}
请求将返回
{"id":["This field is required."]}
在这种情况下,我希望服务器自动生成id字段,怎么办?
答案 0 :(得分:0)
根据问题中提供的信息,我猜您的序列化程序如下:
class EventSerializer(serializers.ModelSerializer):
id = serializers.UUIDField()
class Meta:
model = Event
在此方案中, id 将被视为必填字段。因此,为了满足您的要求,请将序列化程序更改为:
class EventSerializer(serializers.ModelSerializer):
class Meta:
model = Event