首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免预置Django中的模型编辑

如何避免预置Django中的模型编辑
EN

Stack Overflow用户
提问于 2018-04-17 06:02:02
回答 1查看 66关注 0票数 0

我正在尝试保存Django模型,这将触发一个事件。更新此模型时,会一次又一次触发start_event。如何在第一次保存而不是更新时触发事件?

代码语言:javascript
复制
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)

使用此模型首先创建和更新。创建

代码语言:javascript
复制
from models import Image
image = Image()
image.file_path = "path/to/file"
image.save()

事件完成后,将使用更新

代码语言:javascript
复制
from models import Image
image = Image.objects.get(file_path='path/to/file')
image.file_name = "file/name"
image.save()

如何在第一次保存而不是更新时触发事件(Start_event)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-17 06:33:44

@Zev你的信息帮助了它!从链接Django - Overriding the Model.create() method?找到了解决方案。

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49870917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档