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' ,我这里已经设置好了。

  • 相关阅读:
    [CSP-S模拟测试]:迷宫(最短路)
    [CSP-S模拟测试]:五子棋(模拟)
    [CSP-S模拟测试]:点亮(状压DP+树上背包DP)
    [CSP-S模拟测试]:统计(树状数组+乱搞)
    [CSP-S模拟测试]:组合(欧拉路)
    [CSP-S模拟测试]:笨小猴(随机化)
    最小表示法
    BZOJ4868 [Shoi2017]期末考试 【三分 + 贪心】
    BZOJ4870 [Shoi2017]组合数问题 【组合数 + 矩乘】
    BZOJ4919 [Lydsy1706月赛]大根堆 【dp + 启发式合并】
  • 原文地址:https://www.cnblogs.com/liushui0306/p/12638974.html
Copyright © 2011-2022 走看看