我正在尝试保存Django模型,这将触发一个事件。更新此模型时,会一次又一次触发start_event。如何在第一次保存而不是更新时触发事件?
Image(models.Model):
file_name = models.CharField(max_length=200)
file_path = models.CharFiedld(max_length=500)
def save(self, *args, **kwargs):
start_event(self.file_path)
super(Image, self).save(*args, **kwargs)使用此模型首先创建和更新。创建
from models import Image
image = Image()
image.file_path = "path/to/file"
image.save()事件完成后,将使用更新
from models import Image
image = Image.objects.get(file_path='path/to/file')
image.file_name = "file/name"
image.save()如何在第一次保存而不是更新时触发事件(Start_event)?
发布于 2018-04-17 06:33:44
@Zev你的信息帮助了它!从链接Django - Overriding the Model.create() method?找到了解决方案。
def save(self, *args, **kwargs):
if not self.pk: # Checking if the oject has no pk
start_event(self.file_path)
super(Image, self).save(*args, **kwargs)https://stackoverflow.com/questions/49870917
复制相似问题