Bor*_*kov 4 django django-rest-framework
我有一个模型,其中我已将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',
...
)
Run Code Online (Sandbox Code Playgroud)
默认情况下,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',
...
)
Run Code Online (Sandbox Code Playgroud)
这将覆盖默认ID字段,该字段以只读方式创建。
| 归档时间: |
|
| 查看次数: |
1425 次 |
| 最近记录: |