我有一个带有文本字段的模型,需要对其进行版本控制。
class Book(models.Model):
title = models.CharField(max_length=100)
summary = models.TextField()
预期的行为如下:
summary
应对字段进行版本控制,而不应对整个模型进行版本控制我应该怎么做?
我自己搞定的。
首先创建一个新模型SummaryHistory
:
class SummaryHistory(models.Model):
version = models.IntegerField(editable=False)
book = models.ForeignKey('Book')
text = models.TextField()
class Meta:
unique_together = ('version', 'book',)
def save(self, *args, **kwargs):
# start with version 1 and increment it for each book
current_version = SummaryHistory.objects.filter(book=self.book).order_by('-version')[:1]
self.version = current_version[0].version + 1 if current_version else 1
super(SummaryHistory, self).save(*args, **kwargs)
现在,按如下所示扩展初始模型:
class Book(models.Model):
title = models.CharField(max_length=100)
summary = models.TextField()
def summary_history(self):
return SummaryHistory.objects.filter(book=self).order_by('-version')
def save(self, *args, **kwargs):
super(Book, self).save(*args, **kwargs)
# save summary history
summary_history = self.summary_history()
if not summary_history or self.summary != summary_history[0].text:
newSummary = SummaryHistory(book=self, text=self.summary)
newSummary.save()
现在,每次更新书籍时,除非未更改,否则将为特定书籍创建新的摘要摘要版本。
问题内容: 设置: 我正在开发一个Django应用程序,该应用程序允许用户在数据库中创建一个对象,然后根据需要返回并对其进行编辑。 Django的管理站点保留了通过管理站点对对象所做的更改的历史记录。 问题: 如何将我的应用程序挂接到管理站点的更改历史记录,以便可以看到用户对其“内容”所做的更改历史记录? 问题答案: 管理员历史记录只是一个与其他Django应用程序一样的应用程序,例外是在管理站点
本页内容包括: XCode6.4 Beta Swift语法文档更新 XCode6.3正式版 Swift语法文档更新 XCode6.2正式版 Swift语法文档更新 XCode6.2 Beta3 Swift语法文档更新 XCode6.2 Beta2 Swift语法文档更新 XCode6.2 Beta1 Swift语法文档更新 XCode6.1.1正式版 Swift语法文档更新 XCode6.1 Sw
我正在寻找一种适当的方法来构建FiRecovery数据库,以处理单个集合中文档的多个版本历史记录。 例如:我有一个名为offers的集合,其中包含多个文档,对应于多个offers。对于这些文档中的每一个,我都希望有更改的历史记录,比如谷歌文档上的更改。 由于文档只支持直接添加字段或嵌套另一个集合,因此我想到了一种结构: 这似乎有点过于复杂,因为我有最新的状态,而不是历史的嵌套集合。这可能是某种平面
历史版本信息请查看SDK中心的版本信息。
更多历史版本信息请查看SDK中心的版本信息。 V3.9.0.6( 更新时间:2018-06-10 ) 新增信息流分析功能,针对列表栏目的智能分析 优化SDK基础性能,提升稳定性 V3.9.0.0( 更新时间:2018-03-16 ) 新增自定义名单方式创建分群 支持上传用户识别ID,标记业务目标用户 错误报告升级,支持异常信息主动上报并展示 优化SDK开发者日志输出 V3.8.2.2( 更新时间:
V1.3.1 Mobile SDK : 点击下载 文档 :点击下载
1.5.0 access log: added fields for UPSTREAM_LOCAL_ADDRESS and DOWNSTREAM_ADDRESS. admin: added JSON output for stats admin endpoint. admin: added basic Prometheus output for stats admin endpoint. Hist
更新时间:2019-11-15 11:03:00 1.10.0(2019-11-15) 新功能 服务开发增加移动推送应用节点 1.9.0(2019-10-30) 新功能 支持非物模型设备的mqtt topic订阅与下发 支持监听设备上下线动作,进行规则触发 数据源的时间类型数据支持变量时间 交互优化:日志结构化 1.5.0(2019-07-20) 新功能 服务开发增加人工智能相关节点,包含人脸识别