如何为Django模型生成HASH

2023-11-25

我正在尝试为我的 10 位 Django 模型生成唯一的 HASH 值,我已经尝试过这些方法,但出现此错误

return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: column hash_3 is not unique

这是我尝试过的:

import os
import time
import hashlib
from os import path
from binascii import hexlify
from django.db import models
from django.contrib import admin
from django.core.files.storage import FileSystemStorage
#------------------------------------------------------------------------------ 

def _createHash():
    """This function generate 10 character long hash"""
    hash = hashlib.sha1()
    hash.update(str(time.time()))
    return  hash.hexdigest()[:-10]


class tags(models.Model):
    """ This is the tag model """

    seo_url1 = models.URLField()
    seo_url2 = models.URLField()
    seo_url3 = models.URLField()
    tagDescription = models.TextField()                 # Tag Description
    tag = models.CharField(max_length=200)              # Tag name
    tagSlug = models.CharField(max_length=400)          # Extra info can be added to the existing tag using this field
    updatedAt = models.DateTimeField(auto_now=True)     # Time at which tag is updated
    createdAt = models.DateTimeField(auto_now_add=True) # Time at which tag is created
    hash_1 = models.CharField(max_length=10,default=_createHash(),unique=True)
    hash_2 = models.CharField(max_length=10,default=_createHash(),unique=True)
    hash_3 = models.CharField(max_length=10,default=_createHash(),unique=True)

我也尝试过这个方法:

def _createHash():
    """This function generate 10 character long hash"""
    return hexlify(os.urandom(5))

我有一个脚本,每次运行脚本时都会将数据插入到该模型中,我收到上述错误..有其他方法可以做到这一点..我想将唯一的哈希值存储到列中hash_1,hash_2,hash_3.


不要打电话给_createHash()在您的领域中运行函数,但只需传递对模型中可调用函数的引用,例如

hash_1 = models.CharField(max_length=10,default=_createHash,unique=True)

正如 Lennart Regebro 在他的回答中提到的,每次尝试启动服务器时,您都会获得相同的值。

The Django 文档对此说一下:

字段.默认值

该字段的默认值。这可以是一个值或 一个可调用的对象。如果可调用,每次新创建时都会调用它 对象被创建。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为Django模型生成HASH 的相关文章

随机推荐

  • JAXB 无法生成 XBRL 的 Java 类

    我正在尝试为 XBRL 中定义的类型生成 Java 类 我的构建过程基于 Maven 2 以下是我的试验 我只粘贴build部分 它依赖于一些属性 package是我的目标包的名称 catalog是目录的路径和文件名 因为我没有互联网连接
  • 以编程方式设置网页的默认缩放?

    是否可以在网站上设置默认缩放级别 例如 我可以编码吗my site比如当用户打开它时它会缩放到 125 我的网站主体有这个代码 如何把这个缩放代码放进去 Add zoom 125 到身体风格 body color 536482 backgr
  • 为什么人们将他们的文件命名为index.html?

    我看到很多人在他们的 HTML 文件中使用这个文件名 我想知道为什么 我对 HTML 有点陌生 我还没有学到太多东西 但是当我命名我的 HTML 文件时 我可以随意命名它们 当我搜索 HTML 示例时 我发现它们将其命名为index htm
  • paypal自适应支付IPN中的自定义字段

    我在我的网站中实施了自适应支付 首先 这是标准付款 所以我通过了custom表单中的参数 我在 IPN 中获取它 但我无法找到如何在自适应支付中传递此参数 Thanks Edit 根据 jackvsworld 在 PayPal Adapti
  • 亚音速快死了吗

    我对使用 SubSonic 很感兴趣 我已经下载了它并且到目前为止我很喜欢它 但是看看 github 和 googlegroups 上的活动 它似乎不是很活跃 看起来很像一个即将消亡的项目 tekpub 上没有关于它的视频 而且 Rob 这
  • 在 Kivy 中显示 numpy 数组

    首先 我对 kivy 完全陌生 所以我有点挣扎 我正在尝试在 kivy 窗口中显示 numpy 数组 到目前为止 我发现这应该使用纹理类 http kivy org docs api kivy graphics texture html 由
  • 在 pytorch 上使用 MC Dropout 测量不确定性

    我正在尝试在 Pytorch 上使用 Mc Dropout 实现贝叶斯 CNN 主要思想是 通过在测试时应用 dropout 并运行多次前向传递 您可以从各种不同的模型中获得预测 我发现了 Mc Dropout 的应用 但我真的不明白他们是
  • java 8 的字数统计

    我正在尝试在 java 8 中实现字数统计程序 但无法使其工作 该方法必须接受一个字符串作为参数并返回一个Map
  • 即时运行无法在 Android Studio 上运行,表示需要 Gradle 版本 2.10。我用的是2.10

    这是我得到的错误 Error Gradle version 2 10 is required Current version is 2 8 If using the gradle wrapper try editing the distri
  • 从右到左文本 HTML 输入

    对于我的网站 我需要提供阿拉伯语支持 其中一部分是提供输入文本框 当用户输入时 新字符必须附加到左侧 并且文本必须右对齐 将 css 属性设置为 text align right 不起作用 因为我无法让光标移至左侧并在那里添加字母 所以我删
  • @Configurable-Beans 无法在 Spring Boot 中与 JPA-EntityListener 一起使用

    我在 Spring Boot 应用程序中创建的自定义 jpa 实体侦听器遇到了一个奇怪的问题 我正在尝试使用弹簧 Configurable配置 EntityListener 的机制 如 Springs 中所示 AuditingEntityL
  • 将浮点数舍入为预定义点的规则网格

    我想将浮点数四舍五入到给定的精度 例如 0 051 i want to convert it to 0 1 0 049 i want to convert it to 0 0 0 56 i want to convert it to 0 6
  • TSQL - 无效的列名行号[重复]

    这个问题在这里已经有答案了 为什么这么说 Invalid Column Name 对于行号WHERE SELECT Id Name ROW NUMBER OVER ORDER BY Id AS RowNumber FROM Folks WH
  • 如何将 UITextView 的“委托”出口连接到实现 UITextViewDelegate 协议的类?

    如何将 UITextView 的 委托 出口连接到实现 UITextViewDelegate 协议的类 我似乎找不到例子在文档中 奇怪的是 UITextView 委托 出口有拖放界面的东西 就像你可以将它连接到另一个小部件但当然 我不想将它
  • 如何在 Kaminari 中为首页设置不同的页面大小?

    我想使用 Kaminari 对许多对象进行分页 但是 在第一页上 我还想显示一条通知 允许查看者创建自己的对象 从而减少可以在该页面上显示的对象数量 然而 指示的页数还应该考虑到该第一页包含较少的元素 假设对象是字母 a 到 z 第一页只能
  • 运行 GCC 预处理器非 C 文件

    我正在使用专有的开发环境来编译用以下语言编写的代码C 以及 IEC 61131 语言 为了C编译时 它使用 GCC 4 1 2 和以下构建选项 fPIC O0 g nostartfiles Wall trigraphs fno asm 编译
  • 使用 RMySQL 连接 MySQL 数据库

    我正在从RSQLite to RMySQL我很困惑user and password字段 FWIW 我正在运行 Windows 7 R 2 12 2 MySQL 5 5 均为 64 位 和 RMySQL 0 7 5 我安装了RMySQL按照
  • 为什么标准C库中没有像realloc()这样不复制数据的函数?

    比如我想要这样一个功能 char dst char malloc 512 char src char malloc 1024 dst char realloc dst 1024 memcpy dst src 1024 如您所见 我只是希望函
  • 多部分文件最大大小异常-Spring Boot嵌入式tomcat

    我已将最大文件大小设置为 multipart maxFileSize 1mb multipart maxRequestSize 1mb 这是我的控制器 RequestMapping method RequestMethod POST pro
  • 如何为Django模型生成HASH

    我正在尝试为我的 10 位 Django 模型生成唯一的 HASH 值 我已经尝试过这些方法 但出现此错误 return Database Cursor execute self query params django db utils I