postgresql - 如何在 Django ModelFORM 中获取 UUID FIELD 值?

标签 postgresql django-models django-views django-forms django-templates

我正在做一些相当简单的事情...我正在使用 POSTRGRESQL 数据库中的 UUID 字段创建一条具有唯一标识符的记录。运行良好。我正在尝试使用该值并在用户更新记录时进行比较。然而,即使该值位于数据库中,当我尝试通过 CLEAN 中的 ModelFORM 获取它时,它显示为 NONE。我猜想有一种特殊的方法可以获取这个值,但我不知道它是什么。我尝试将此作为引用....https://stackoverflow.com/questions/54914961/django-form-with-a-modelchoicefield-on-a-uuid-do-not-show-its-content-已清理,但我无法解决。

我的模型...

class Model(models.Model):


unique_identifier = models.UUIDField(primary_key=False, default=uuid.uuid4, editable=False)

我的表格...

class FORM(forms.ModelForm):

    class Meta:
        model = Model

    def clean(self):
        cleaned_data = super(UpdateSavedNewProcedureForm, self).clean()  
        unique_identifier = cleaned_data.get('unique_identifier')
        print(unique_identifier) 

当我打印 unique_identifier 时,即使我可以在数据库中看到该值,它也会返回为 NONE。如果我将值存储为 CHARFIELD,我可以获得该值...但我试图避免为了可读性而重复此字段。我确信有一种特殊的方法可以获取这个值,但我现在很困惑。

提前感谢您的任何想法。

最佳答案

我的最终答案感谢@Willem Van Onsem

我的模型...

class Model(models.Model):

    unique_identifier = models.UUIDField(primary_key=False, 
    default=uuid.uuid4, editable=False)

我的表格...

class FORM(forms.ModelForm):

    class Meta:
        model = Model

    def clean(self):
        cleaned_data = super(UpdateSavedNewProcedureForm, self).clean()  
        unique_identifier = self.instance.unique_identifier        

    If unique_identifier:
        Do Something Cool.....

关于postgresql - 如何在 Django ModelFORM 中获取 UUID FIELD 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70240104/

相关文章:

postgresql - DSpace:表 'owner' 上的列 'collection_id' 和 'workflowitem' 之间的差异

python - django - 有什么方法可以替代抽象类的 ForeignKey?

sql - 使用 select_related() 的 Django 过滤器

django - 使用一次后如何在Django中删除 session key ?

python - Django 表单不保存图像文件

PostgreSQL - INSERT INTO 语句

postgresql - 如何使用纯 docker-compose 将 PostGIS 添加到我的 PostgreSQL 设置中

postgresql - ALTER COLUMN 在具有访问锁的表上

python - Django 小部件 : too many values to unpack

django - 当前路径,与其中任何一个都不匹配