📜  UUIDField – Django 表单(1)

📅  最后修改于: 2023-12-03 15:05:47.245000             🧑  作者: Mango

UUIDField - Django 表单

在 Django 中,UUIDField 是用来存储 UUID(通用唯一标识符)的一种字段类型。它可用于在应用程序中唯一标识对象。

使用 UUIDField

在 Django 中使用 UUIDField,需要在模型中导入 UUIDField,并将其实例化。下面是示例模型:

from django.db import models
import uuid

class MyModel(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=200)

id 字段是 UUIDField 类型,拥有 primary_key 以确保其唯一性。default 值为 uuid.uuid4,用于生成一个新的 UUID。editable 被设置为 False,使得其不可编辑。

在表单中使用 UUIDField 可以通过 widgets 模块的 TextInput 来实现,如下所示:

from django import forms
from myapp.models import MyModel

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = ('name',)
        widgets = {
            'id': forms.TextInput(attrs={'readonly': 'readonly'}),
        }

在表单中,我们只需要提供 name 字段,因为 id 是在模型中定义的。此外,我们将 id 字段的 widgets 设置为 TextInput,并将其设置为只读,以确保它不会被改变。

总结

在 Django 中,UUIDField 是一个非常方便的字段类型,可用于唯一地标识对象。通过在模型中使用它,并在表单中将其设置为只读,我们可以轻松地管理 UUID。