gpt4 book ai didi

django - 将 django 模型的编辑历史存储在另一个自定义模型中

转载 作者:行者123 更新时间:2023-12-02 07:17:13 24 4
gpt4 key购买 nike

我有两个模型可以说:

class superfields(Model):
fieldA = models.FloatField()
fieldB = models.FloatField()
class Meta:
abstract = True

class my_model( superfields ):
def has_history( self ):
return self.my_model_history_set.count() > 0

class my_model_history( superfields ):
reason = models.TextField()
mymodel = models.ForeignKey( my_model )

“my_model”填充了数据(在 fieldA 和 fieldB 下)。每当有人编辑“my_model”的字段并保存时,我不想保存此模型中的更改,而是希望将其存储为新行,其中所有值都在“my_model_history”中,此外还有“原因”字段,而“my_model”数据保持不变。

在自定义模板、自定义 View 、模型管理等方面处理这种情况的最佳方法是什么?我做得正确吗?

为了让我的问题有一定的意义,在我的项目中,“my_model”下的数据本质是市场价格,我需要维护所有曾经编辑过的市场价格的历史记录,并附上编辑的“原因”。

最佳答案

为什么不使用该条目作为表单的初始数据来创建新实例,而不是编辑现有条目?新对象被保存,原始对象保持不变...

关于django - 将 django 模型的编辑历史存储在另一个自定义模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com