gpt4 book ai didi

Django REST Framework : how to make Id field required upon POST, 即非只读字段?

转载 作者:行者123 更新时间:2023-12-05 00:55:57 33 4
gpt4 key购买 nike

我有一个模型,我将 id 覆盖为 CharField 和主键。这是模型及其序列化程序:

class Tool(models.Model):
id = models.CharField(max_length=10000, primary_key=True, default=uuid.uuid4, editable=False)
description = models.TextField(null=True, blank=True)
...

class ToolSerializer(serializers.HyperlinkedModelSerializer):

class Meta:
model = Tool
fields = (
'id',
'description',
...
)

默认情况下,Django REST Framework 标记 id字段为只读,在 POST 请求时不需要它。但我希望它是可写的,并在 POST 时要求它。我如何做到这一点?

最佳答案

我想,我在 DRF 文档的一个意想不到的地方找到了答案:

http://www.django-rest-framework.org/api-guide/serializers/#customizing-multiple-update

我需要创建一个显式 id序列化器中的字段,如下所示:

class ToolSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.CharField()

class Meta:
model = Tool
fields = (
'id',
'description',
...
)

这将覆盖创建为只读的默认 id 字段。

关于Django REST Framework : how to make Id field required upon POST, 即非只读字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37185980/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com