首先呢?您想要添加固定号码的号码是?如果是这样,为什么你必须把它存储在数据库中呢?您可以创建你的模型的方法,它作为一个属性,增加的数量,当你需要它:
class ModelX(models.Model):
...
def special(self):
num = 1000
return self.id + num
如果你真的需要这个存储到您也许需要做两个数据库访问,因为丹尼尔的分贝说,你得到的ID后对象存储在数据库中。
您可以修改save
方法来这样一句:
def save(self, *args, **kwargs):
num = 1000
self = super(MyModel, self).save(*args, **kwargs)
self.special = obj.id + num
self.save()
注意,这可能只是在做这第一次的对象在数据库中创建进行优化,其中self.special
是根据NULL
或默认值你如何宣布你的模型。
def save(self, *args, **kwargs):
num = 1000
self = super(MyModel, self).save(*args, **kwargs)
# self.special is null, (creating the object in the db for the 1st time)
if not self.special: # or if self.special != defaultvalue (defined in MyModel)
self.special = obj.id + num
self.save()
我希望这有助于。