zoukankan      html  css  js  c++  java
  • django框架学习:十八.添加创建时间DateTimeFiled

    前言

    admin后台发布文章时,一般会有创建时间和最后更新时间这2个字段,创建时间是第一次创建时添加的,最后更新时间是每次更新内容时间更新。

    在models.py文件创建表时,设置create_time 和update_time 类型为DateTimeFiled,添加auto_now_add和auto_now参数。

    DateTimeField

    创建django的modles.py文件,有DateTimeField、DateField和TimeField分别对应datetime(),date(),time(),分别有auto_now_add和auto_now参数对应。

    auto_now_add 默认值为false,设置为True时会在model对象第一次被创建时,将字段的值设置为创建的时间,以后修改对象时,字段的值不会再更新。该属性通常被用在存储“创建时间的场景下”,auto_now_add具有强制性,一旦被设置为True,就无法在程序中手动为字段赋值,在admin中字段也会成为只读的。

    auto_now默认值为false,设置为True时,在保存字段时会自动设置为当前时间,通常应用场景为“最后修改时间”场景下,十分方便。在django自带的admin管理器,该字段在admin中是只读的,例:

    在models.py下新建一个Article类,添加标题title,body内容,auth,create_time 和update_time ,字符串类型:CharFiled,必须要有max_length,如果正文内容很多时,需要使用TextField,代码如下:

     将创建的表注册到admin管理后台

    终端命令行下执行以下两条命令:

     python manage.py makemigrations

    python manage.py migrate

    打开navicat数据库客户端查看同步表格

     登录admin后台管理页面

    输入命令行:python manage.py runserver 0.0.0.0:8000

     打开admin后台,新增一条记录

     对 article数据库进行编辑

     列表页面显示结果如下,如果重新编辑的话,最后更新时间也会更新

     如果获取的当前时间显示和我们的时间相差八个小时,需要在setting.py设置 TIME_ZONE = 'Asia/Shanghai' ,我这里已经设置好了。

  • 相关阅读:
    c++深拷贝与浅拷贝
    c++构造函数的explicit
    c++虚函数和虚函数表
    c++重载、重写、隐藏(重定义)
    c++传值、传指针、传引用
    ASP.Net Core API 学习の中间件
    WPF中String Format的用法
    ASP.Net Core API 全局处理异常
    989. Add to Array-Form of Integer
    1014. Best Sightseeing Pair
  • 原文地址:https://www.cnblogs.com/liushui0306/p/12638974.html
Copyright © 2011-2022 走看看