社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

确定django模型实例更新了多少次

timothym • 5 年前 • 1459 次点击  

我试图找到一种通用的方法来计算模型实例的任何字段更新了多少次。换句话说,在django中,如何计算表中特定行被更新了多少次?我的目标是显示有多少更新已作出计数。

假设我有:

class MyModel(models.Model):
    field = models.CharField()
    another_field = models.IntegerField()

    ...

我有一个模型的例子:

my_model = MyModel.objects.get(id=1)

有没有办法知道多少次 my_model 它的字段更新了吗?或者我需要创建一个 update_count 每次更新一个字段时都增加它?希望Django有某种机制,所以我不必走那种路线。

希望这不是一个太基本的问题,我仍然在学习django,并一直在挣扎如何解决自己的问题。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47871
 
1459 次点击  
文章 [ 1 ]  |  最新文章 5 年前
imposeren
Reply   •   1 楼
imposeren    6 年前

没有通用的方法可以得到这个。如所述 wim 您可以使用一些“版本控制包”来跟踪更改的整个历史记录。我个人也曾使用过同样的建议:Django回复,但是 other alternatives 是的。

如果只需要跟踪某些字段,则可以自己编程一些更简单的机制:

  1. 创建模型/字段以跟踪您的信息
  2. 使用类似于 FieldTracker 跟踪对特定字段的更改
  3. 创建处理程序保存后信号(或只是修改模型的 save 方法)保存数据

您也可以使用类似“表审计”的东西。我自己也没试过,不过也有一些套餐: