Django在admin模块中显示auto_now_add=True或auto_now=True的时间类型列

在Django如果model中的列定义了auto_now_add或auto_now属性,那么这种列不会在admin的页面中显示,比如:

class Blog(models.Model):
    ...
    create_time = models.DateTimeField(auto_now_add=True)
    update_time = models.DateTimeField(auto_now=True)

其中的create_time和update_time均不会显示在admin页面中。

查看Django的源代码

    ...
    def __init__(self, verbose_name=None, name=None, auto_now=False,
                 auto_now_add=False, **kwargs):
        self.auto_now, self.auto_now_add = auto_now, auto_now_add
        if auto_now or auto_now_add:
            kwargs[‘editable‘] = False
            kwargs[‘blank‘] = True
        super(DateField, self).__init__(verbose_name, name, **kwargs)

从代码可以看出,如果使用了auto_now_add或者auto_now属性,那么这一列将会把editable属性设置为False。

所有如果真的想要强制显示这样的列,那么可以在列的定义语句后增加设置editable属性为True,比如:

class Blog(models.Model):
    ...
    create_time = models.DateTimeField(auto_now_add=True)
    create_time.editable = True
    update_time = models.DateTimeField(auto_now=True)
    update_time.editable = True
时间: 2024-10-12 00:49:38

Django在admin模块中显示auto_now_add=True或auto_now=True的时间类型列的相关文章

django 之admin模块

简介: 主要就是网站的后台管理   属于django.contrib.admin 下的子库 在admin 里面配置model 1 # -*- coding: utf-8 -*- 2 from django.contrib import admin 3 from blog.models import * 4 # Register your models here. 5 class ArticleAdmin(admin.ModelAdmin): 6 #决定哪些是展开显示,哪些合并在一起 7 fiel

django ModelForm在模板中显示中文

情景再现 修改ModelForm 效果 原文地址:https://www.cnblogs.com/HByang/p/12362154.html

Django的admin后台

ModelAdmin对象 ModelAdmin类的简单使用 该ModelAdmin是在管理界面模型的表示.通常这些文件存储在admin.py应用程序中命名的文件中.让我们来看一个示例ModelAdmin: from django.contrib import admin from myproject.myapp.models import Author class AuthorAdmin(admin.ModelAdmin): pass admin.site.register(Author, Au

django-19.admin后台自定义显示

前言 django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观.在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速的搜索相关内容 优化列表显示 django的表信息列表显示默认值显示了表的相关属性 如果我们想让表里面的字段内容全部显示出来,需在admin.py文件添加list_display 属性,相关代码如下 # admin.py from django.contrib import admin from he

使用 Sixel 图形格式在终端中显示缩略图

不久前,我们讨论了 Fim,这是一个轻量级的命令行图像查看器应用程序,用于从命令行显示各种类型的图像,如 bmp.gif.jpeg 和 png 等.今天,我偶然发现了一个名为 lsix的类似工具.它类似于类 Unix 系统中的 ls命令,但仅适用于图像.lsix 是一个简单的命令行实用程序,旨在使用 Sixel 图形格式在终端中显示缩略图.对于那些想知道的人来说,Sixel 是六像素six pixels的缩写,是一种位图图形格式.它使用 ImageMagick,因此几乎所有 imagemagic

第四章:Django模型——在Event表中显示出更多的数据

1. 为了使表中显示出 更多的字段 , 所以要修改 sign/admin 中的文件 2. 解释一下相关的内容: Django 提供了大量选项针对特别的模块自定义管理工具.

跟我一起学extjs5(13--执行菜单命令在tabPanel中显示模块)

跟我一起学extjs5(13--执行菜单命令在tabPanel中显示模块) 上面设计好了一个模块的主界面,下面通过菜单命令的执行来把这个模块加入到主界面当中.在MainModule.js中有一个函数,生成了当前的菜单数据: // 根据data.systemMenu生成菜单条和菜单按钮下面使用的菜单数据 getMenus : function() { var items = []; var menuData = this.get('systemMenu'); // 取得定义好的菜单数据 Ext.A

Django模板中显示mongo 的object id 即 _id的内容

在django模块中直接使用object._id显示ID内容会报错,解决方法如下: 1. 在应用目录(appdir)的目录先新建目录 templatetags,目录结果和内容如下: /projectdir  /appdir    /templatetags       __init__.py       appname_tags.py     models.py     views.py appname_tags.py的内容如下: from django import template regi

django的admin后台注册model并显示

在admin后台注册model并显示其他字段: 修改app下的admin.py,注册model: from .models import vmadmin.site.register(vm) #注册名为vm的model 在admin后台会显示vm内容,但是默认只显示model中return的字段: 比如要显示名为hv的model中的其他字段,修改admin.py如下: from .models import hv,vm admin.site.register(vm) class hvAdmin(a