Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过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/

10-12 16:48
查看更多