So generieren Sie HASH für das Django-Modell
Ich versuche, eindeutige HASH-Werte für meine 10-stelligen Django-Modelle zu generieren. Ich habe diese Methoden ausprobiert, erhalte jedoch diesen Fehler
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: column hash_3 is not unique
Hier was ich ausprobiert habe:
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)
Ich habe auch diese Methode ausprobiert:
def _createHash():
"""This function generate 10 character long hash"""
return hexlify(os.urandom(5))
Ich habe ein Skript, das jedes Mal, wenn ich mein Skript ausführe, Daten in dieses Modell einfügt. Der oben genannte Fehler tritt auf. Gibt es eine andere Möglichkeit, dies zu tun? Ich möchte eindeutige Hashwerte in Spalten speichernhash_1,hash_2,hash_3
.