zoukankan      html  css  js  c++  java
  • 在创建表时,对于auto_now=True与 auto_now_add=True 的区别

    在models.py中创建表结构时

    from django.db import models
    class Book(models.Model):
        title = models.Charfield(max_length=32)
        date = models.Datefield(auto_now = True)

    那么在更新数据是两种方法对auto_now的影响:

    #(1)update方法:
    models.Book.objects.filter(title='asd').update(title='ads')
    #update方法不会改变date的时间,还是保存着创建时的时间点
    
    
    
    #(2) .save()方法:
    obj = models.Book.objects.filter(title='asd').first()
    obj.title='ads'
    obj.save()
    #.save()方法是保存了更改时的时间点

    如果我们当时设定的是auto_now_add=True时:

    from django.db import models
    class Book(models.Model):
        title = models.Charfield(max_length=32)
        date = models.Datefield(auto_now_add = True)

    此时,update方法和.save()方法对时间都是无效的。

    那么我们如何手动的更改时间呢?

    方法如下:

    models.Book.objects.filter(title='asd').update(date=datetime.datetime.now())
  • 相关阅读:
    Linux忘了root的密码怎么办
    缩略图的实现
    ASP.NET程序编写注意 (转载)
    太极拳
    Linux系统管理技巧大荟萃
    茶经(转载)
    datagrid的显示控制
    太极功
    Linux下硬盘分区详解
    Tomcat4.0中文问题简单解决方法
  • 原文地址:https://www.cnblogs.com/Zhao159461/p/11025564.html
Copyright © 2011-2022 走看看