我正在Django中开发一个应用程序。
我想在我的模型中插入一个自动递增的字母数字唯一ID字段,默认情况下,具有固定的字母部分和自动递增的数字部分。但我也希望可用性从管理部分将此ID更改为另一个字母数字,具有不同的字母数字和数字部分。
我试图实现这一点,但事实证明,尝试实现这样一个字段并使其成为模型的自动字段会在我的数据库中产生问题。
所以我正在改变我的目标:现在我想实现一个基于时间的字母数字唯一字段,其中包含预定义的aplphabetic部分。请注意:我不想覆盖django默认id字段,我只想在我的模型中包含一个字段,该字段获取一个唯一的自定义字母数字值作为默认值。
以下是我在 models.py 中所做的:
def return_timestamped_id():
prefix = "ITCH"
import time
this_time = time.time()
this_time = this_time *10000000
this_time = int(this_time)
timestamp = str(this_time)
default_value = prefix + timestamp
return(default_value)
class object_example(models.Model):
name = models.CharField(max_length=256, blank=True, null=True)
Id_generated = models.CharField(max_length=256, blank=False, null=False, unique=True, default=return_timestamped_id())
问题是,当我从管理部分向此模型添加对象时,The 总是相同的。Id_generated
我期望每次添加新对象时都会调用该函数。很明显,它只是调用一次,然后将相同的返回值传递给每个新对象。return_timestamped_id()Id_generated
如何更改代码,以便在每次添加新对象时获得不同的时间戳?
www说
翻阅古今
随时随地看视频慕课网APP
相关分类