【发布时间】:2015-10-19 15:57:45
【问题描述】:
我希望能够在客户端上创建一个 UUID 并将其发送到 Django Rest Framework (DRF) 并将其用于模型的 Primary Key。
到目前为止,当我发送Primary Key(在我的源代码中标记为id)时,DRF 会忽略id 并使用模型的默认参数来生成新的UUID。
但是,当我从模型进行测试时,使用普通的 Django ORM 创建对象并预先设置 UUID,模型接受 UUID,因为它是 Primary Key,并且不会尝试重新创建一个新的。
这可能吗?
我的堆栈是
Django 1.8
Django Rest 框架 3.1
这是代码。
serializers.py:
class PersonCreateSerializer(serializers.ModelSerializer):
class Meta:
model = Person
fields = ('id', 'username', 'email', 'password')
models.py:
from django.contrib.auth.models import AbstractUser
class BaseModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
class Person(AbstractUser, BaseModel):
【问题讨论】:
-
我有一个相关的问题并在github上发表评论(供参考)github.com/tomchristie/django-rest-framework/issues/2432
标签: python django rest django-rest-framework