Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
2年前关闭。
我正在尝试一种方法,其中在我的模型中将具有一个结构如下的字段:“ ITEM1”,其中数字部分将按顺序递增并且是唯一的,例如:“ ITEM2”,“ ITEM3”,依此类推。我不确定如何实现这一目标。请指出正确的方向。
提前致谢。
我认为将其存储在数据库中是多余的,但是如果您愿意,可以使用以下方法:
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
2年前关闭。
我正在尝试一种方法,其中在我的模型中将具有一个结构如下的字段:“ ITEM1”,其中数字部分将按顺序递增并且是唯一的,例如:“ ITEM2”,“ ITEM3”,依此类推。我不确定如何实现这一目标。请指出正确的方向。
提前致谢。
最佳答案
对于默认的Django模型,将AutoField用作id
。它是自动递增的。您可以为模型编写属性以返回期望的结果:
class MyModel(models.Model):
@property
def item_name(self):
return f'ITEM{self.id}'
my_model_instance1 = Model.objects.create()
my_model_instalce1.id = 1
my_model_instance1.item_name = 'ITEM1'
my_model_instance2 = Model.objects.create()
my_model_instalce2.id = 2
my_model_instance2.item_name = 'ITEM2'
我认为将其存储在数据库中是多余的,但是如果您愿意,可以使用以下方法:
class MyModel(models.Model):
item = models.CharField(max_length=255)
def item_name(self):
return f'ITEM{self.id}'
def save(self, *args, **kwargs):
if not self.item:
self.item = self.item_name()
super(MyModel, self).save(*args, **kwargs)
关于python - 在python中生成固定的alpha +顺序数值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53758861/