【问题标题】:Django Model - Incrementing Version Number like GrailsDjango 模型 - 像 Grails 一样递增版本号
【发布时间】:2016-03-31 03:58:16
【问题描述】:

我们正在考虑从 Grails 迁移到 Django..

在 Grails 中,每个域类(Django 中的模型)都有一个整数字段,称为“版本”,当域类更新时,它会递增 1。

(Grails/Hibernate 也使用此字段来检查自加载数据以来用户是否未更新 Row。但这是另一个问题。)

如何添加一个名为 version 的整数字段,每次在数据库中保存/更新模型时该字段都会递增?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    覆盖模型的save方法

    class Increment(models.Model):
        # data you want to store
    
        # the version bit
        version = Models.IntegerField(default=0)
    
        def save(self, *args, **kwargs):
            self.version = self.version + 1
            super(Model, self).save(*args, **kwargs)
    

    【讨论】:

      猜你喜欢
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      相关资源
      最近更新 更多