Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-如何保存方法仅适用于新数据_Django - Fatal编程技术网

Django-如何保存方法仅适用于新数据

Django-如何保存方法仅适用于新数据,django,Django,如何操作此方法,使其仅应用于新条目,而没有以前的条目 在管理中,我将添加一条记录,该方法应用正确。但当我编辑同一条记录时,此方法再次应用 def save(self): p = Product.objects.last() if p: self.productnumber = 1000 + p.id else: self.productnumber = 1000 super(Product, self).save() 如果要在sa

如何操作此方法,使其仅应用于新条目,而没有以前的条目

在管理中,我将添加一条记录,该方法应用正确。但当我编辑同一条记录时,此方法再次应用

def save(self):
    p = Product.objects.last()
    if p:
        self.productnumber = 1000 + p.id
    else:
        self.productnumber = 1000
    super(Product, self).save()

如果要在save()方法中执行某些代码,则只应检查不存在的项是否存在主键

def save(self):
    if self.pk is None:
        # Code for new objects
    else:
        # Code for existing objects

如果要在save()方法中执行某些代码,则只应检查不存在的项是否存在主键

def save(self):
    if self.pk is None:
        # Code for new objects
    else:
        # Code for existing objects
有两种方法

1

2。检查主键是否存在

def save(self):
    if self.pk: #or id
        #update
    else:
        #new
有两种方法

1

2。检查主键是否存在

def save(self):
    if self.pk: #or id
        #update
    else:
        #new