2024-05-16 09:22:00 发布
网友
我希望能够用一个版本在数据库中存储对象。因此,每当对象发生更改时,都会使用更高版本创建一个新对象。这允许来自其他模型的对象仍然使用旧版本的对象。你知道吗
我不想对我的modesl进行版本控制,但我想对我的对象进行版本控制。你知道吗
示例: 假设对于一个网店,一个模型是项目,另一个是订单。如果有顾客下了订单,他当然想买的正是他下订单时看到的商品。但如果商品价格发生变化,则不应对已下订单产生任何影响,而仅对未来订单产生影响。你知道吗
基本上,如果您想在每次调用save时创建新对象,只需清除它的pk。你知道吗
save
class PersistentModel(models.Model) def save(self): if self.pk is not None: self.pk = None return super(PersistentModel, self).save()
我不认为这将是一个实际的解决方案,一个网店的例子,因为你只需要某些数据保持冻结,它通常更实际的只是复制名称,SKU和价格的订购项目模型。你很可能不需要冻结的东西,如股票水平,详细的描述或图像。你知道吗
但是,由于您一般都是这样问的,因此您可能需要看一下:
http://www.djangopackages.com/grids/g/versioning/
基本上,如果您想在每次调用
save
时创建新对象,只需清除它的pk。你知道吗我不认为这将是一个实际的解决方案,一个网店的例子,因为你只需要某些数据保持冻结,它通常更实际的只是复制名称,SKU和价格的订购项目模型。你很可能不需要冻结的东西,如股票水平,详细的描述或图像。你知道吗
但是,由于您一般都是这样问的,因此您可能需要看一下:
http://www.djangopackages.com/grids/g/versioning/
相关问题 更多 >
编程相关推荐