auto_now 字段未通过使用 filter() 进行更新

2024-03-31

我在用着Django 2.0.

我有一个像这样的模型

class MyModel(models.Model):
    update_new = models.CharField(blank=True, max_length=200)
    modified = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)

并使用更新模型数据Model Manager

class MyModelManager(models.Manager):
    def get_queryset(self):
        return MyModelQueryset(self.model, self._db)

    def update_or_create(self, pk, **save_data):

        record = MyModel.objects.filter(
            pk=pk
        )

        if record.exists():

            # setting field manually for testing
            save_data['update_new'] = 'anuj'

            uc = record.update(**save_data)
            print(uc) # prints 1

            return record.first(), True

        record, created = self.get_queryset().get_or_create(
            pk=pk
            **save_data
        )

        return record, created

这工作正常并且值已更新。但modified字段未更新。价值在created and modified字段保持相同(创建记录时的时间戳)


这种行为在docs https://docs.djangoproject.com/en/2.1/ref/models/fields/#django.db.models.DateField.auto_now:

该字段仅在调用 Model.save() 时自动更新。这 以其他方式更新其他字段时,该字段不会更新 例如 QuerySet.update(),尽管您可以指定自定义值 像这样的更新中的字段。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

auto_now 字段未通过使用 filter() 进行更新 的相关文章

随机推荐

  • 使用内容重命名 PDF 文件的批处理脚本

    我有一个批处理脚本 用于提取 PDF 信息并重命名 PDF 该脚本对于 1 个 PDF 文件运行良好 但我需要直接在folder有很多 PDF 文件 那么该怎么做呢 该脚本需要针对每个 PDF 文件逐个运行 直至结束 一旦 PDF 文件被重
  • UWP,如何处理图像和缩放?

    我们有一个 Xamarin Forms 项目 它将在 Android iOS 和 UWP 上运行 在 Android 上 不同的文件夹中有许多不同的图像 以支持大量不同的屏幕 和 PPI 在 iOS 上 您有类似的系统 2x 3x 等 我一
  • Android 相机教程(使用 SurfaceView)

    这是我的示例代码 package newslab video server import android app Activity import android hardware Camera import android os Bundl
  • MUI:将分页移动到 DataGrid 的顶部?

    有谁知道我如何移动标准XGrid分页到表格上方 或者我是否必须创建自己的自定义分页而不使用内置的XGrid 没有公共 API 可以将分页组件放在顶部 但您可以使用以下 CSS 技巧 const useStyles makeStyles gr
  • 如何生成混淆矩阵并找出朴素贝叶斯分类器的误分类率?

    使用 R 中的虹膜数据集 我尝试将朴素贝叶斯分类器拟合到虹膜训练数据 以便我可以为朴素贝叶斯分类器生成训练数据集 预测与实际 的混淆矩阵 错误分类率是多少朴素贝叶斯分类器 到目前为止 这是我的代码 iris spl sample split
  • 何时在 Webpack 2 module.rules 中使用“use”和“loader”?

    我正在将当前项目升级到Webpack2 它正在使用Webpack1事先的 我研究了一些有关升级的教程 总的来说 我确实理解 不过 我一直遇到的问题是 我不确定在指定模块规则 加载程序 时何时使用 use 和 loader 起初我以为use被
  • Memcache 统计信息未使用 Rails.cache.stats 输出...Rails/Heroku

    晚上好 我正在尝试对 Heroku 上的 Rails 应用程序的缓存进行一些测试 但 Memcachier 似乎运行得不太好 我可以毫无问题地从缓存中提取值 但统计数据并没有给我任何爱 gt 42 Quotes 2012 04 16 irb
  • Qt3D动态纹理

    我正在开发包含 Qt3D 视图的软件 这个 3D 视图使我们能够可视化元素 对象的所有渲染部分都是使用自定义材质 着色器在 QML 中完成的 我能够创建一种将纹理传递到着色器以进行纹理化的材质 保存纹理的QML对象是Texture2D 它的
  • C# Unity 错误:无法加载文件或程序集

    我在 Unity 上找到了这篇演示文章 看起来很简单 但我收到以下错误 无法加载文件或程序集 System Runtime CompilerServices Unsafe 版本 4 0 4 1 Culture neutral PublicK
  • 在SQL中计算一个人的年龄[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 T SQL 中用年 月 日计算年龄 https stackoverflow com questions 57599 how to calculate age in t sql with yea
  • 使用 Bluebird 将 Node.js 回调包装在 Promises 中

    如何在 Bluebird 中使用 Promise 包装 Node js 回调 这是我想到的 但想知道是否有更好的方法 return new Promise function onFulfilled onRejected nodeCall f
  • 让 Angular Material 在 Angular 库中工作

    我正在尝试让 Angular 材质在 Angular 库中工作 这些是我已采取的步骤 创建项目 ng new test project 添加角度材质 ng add angular material 创建库 ng g library test
  • 致命错误“不安全的存储库('/home/repon' 由其他人拥有)”

    我发现 Apache 2 的错误日志是致命的 unsafe repository home repon is owned by someone else 它发生是因为我有git rev parse symbolic full name ab
  • [NSArray arrayWithArray:] 和 [NSArray copy] 之间的区别

    最近我经常使用数组 我想知道 这两行之间有什么区别 NSArray array NSArray arrayWithArray someArray and NSArray array someArray copy 哪个更快 万一我们有什么NS
  • 如何模拟 REST 模板交换?

    我有一项服务 我需要通过休息向外部服务器询问一些信息 public class SomeService public List
  • 多种 MIME 类型的意图过滤器

    我的问题是如何正确指定Activity处理 Manifest 文件中的不同 MIME 类型 我正在尝试创建一个Activity它将处理不同的档案 所以我将其添加到清单中 如下所示
  • jQueryUI、单选按钮状态和单击事件

    我有一个页面 其中包含几组用于设置选项的单选按钮 当用户单击特定的选项时 默认情况下会使用单击事件处理程序选择其他选项 该功能运行完美 但按钮的视觉状态存在问题 我使用 jQueryUI 的 buttonset 方法来提高美观性 当我以编程
  • Chrome/Firefox 立即在所有 javascript onclick 事件上设置断点

    我正在尝试调试第三方 HTML Javascript 页面 但我无法轻松找到脚本入口点以在其上设置断点 我希望调试器在任何元素的 onclick 事件处理程序上中断 目前 如果页面设置为类似 document getElementById
  • 从 Javafx2.2 迁移到 Javafx8

    我正在尝试将 Javafx 2 2 应用程序迁移到 Javafx 8 我在使用嵌套时遇到以下问题FXML javafx fxml LoadException Root hasn t been set Use method setRoot b
  • auto_now 字段未通过使用 filter() 进行更新

    我在用着Django 2 0 我有一个像这样的模型 class MyModel models Model update new models CharField blank True max length 200 modified mode