小编pie*_*oni的帖子

创建时如何让 Django 模型运行一些功能

我想要的是

video_length在一个名为 的模型中有一个列,另一个模型中有Episode另一个列。sum_lengthSeries

我只想sum_length在创建剧集时更新,修改时不更新。

我现在怎么做?

现在,我覆盖了保存函数,并添加了一个函数调用来更新它,就像这样。

def save(self, *args, **kwargs):
    if not self.excerpt:
        md = markdown.Markdown(extensions=[
            'markdown.extensions.extra',
            'markdown.extensions.codehilite',
        ])
        self.excerpt = strip_tags(md.convert(self.description))[:54]
        self.series.addlength(self.video_length)
    super(Episode, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

由于 excerpt降价内容生成,我认为何时excerpt保存空白,而不是更新。

为什么我问这个问题?

  1. 我的解决方法是可用的,但我想找到一个更pythonic的代码
  2. 当我真的需要更新时,我的解决方法不会更新。

你能给我什么?

也许示例代码很好

其他信息

Django:1.11.6 Python:3.6.3 数据库:MySQL

感谢您的回答

python django django-models django-queryset

6
推荐指数
2
解决办法
4034
查看次数

标签 统计

django ×1

django-models ×1

django-queryset ×1

python ×1