Django UUIDField文档说可以序列化,但是迁移将其标记为“ serialize = False”

问题描述

是什么导致Django的UUIDField类型被标记serialize=False?如何指定应为True

database migrations,under “Serializing values”的文档明确指出uuid.UUID实例可以序列化:

Django可以序列化以下内容: […] uuid.UUID实例

对我来说听起来不错。因此,我定义了一个带有UUIDField主键的模型:

import uuid
from django.db import models

class Lorem(models.Model):
    id = models.UUIDField(
        verbose_name='ID',default=uuid.uuid4,editable=False,serialize=True,primary_key=True)
    dolor = models.CharField([…])

尽管显式指定了serialize=Truemakemigrations管理命令仍会产生此字段,除已更改为serialize=False之外,所有参数均相同:

    […]
        migrations.CreateModel(
            name='Lorem',fields=[
                ('id',models.UUIDField([…],primary_key=True,serialize=False,verbose_name='ID')),('dolor',models.CharField([…])),],)
    […]

是什么导致makemigrations命令坚持不应该序列化UUIDField?我该如何以按照“序列化值”文档中描述的方式和serialize=True 的方式工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)