首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django admin: postgres DateTimeRangeField显示不正确

Django admin是Django框架提供的一个强大的后台管理界面,可以方便地管理和操作数据库中的数据。在使用Django admin时,有时会遇到DateTimeRangeField字段在postgres数据库中显示不正确的问题。

DateTimeRangeField是Django框架中的一个字段类型,用于表示一个时间范围。它可以存储一个起始时间和一个结束时间,并提供了一些方法来操作和查询这个时间范围。

当在Django admin中使用DateTimeRangeField字段时,可能会遇到显示不正确的情况。这通常是由于Django admin默认使用了一个简单的文本输入框来显示DateTimeRangeField字段的值,而不是一个更合适的日期时间范围选择器。

为了解决这个问题,可以通过自定义Django admin的表单来修改DateTimeRangeField字段的显示方式。具体步骤如下:

  1. 创建一个新的表单类,继承自Django admin的ModelForm类。
  2. 在表单类中定义DateTimeRangeField字段的widget属性为一个合适的日期时间范围选择器,例如Django框架提供的DateTimeRangeWidget。
  3. 在Django admin的ModelAdmin类中使用form属性将自定义的表单类与相应的模型关联起来。

下面是一个示例代码:

代码语言:txt
复制
from django.contrib import admin
from django import forms
from django.contrib.postgres.fields import DateTimeRangeField
from django.contrib.postgres.forms import DateTimeRangeField as DateTimeRangeFormField
from django.contrib.postgres.forms.widgets import DateTimeRangeWidget

from .models import YourModel

class YourModelForm(forms.ModelForm):
    your_datetime_range_field = DateTimeRangeFormField(widget=DateTimeRangeWidget)

    class Meta:
        model = YourModel
        fields = '__all__'

class YourModelAdmin(admin.ModelAdmin):
    form = YourModelForm

admin.site.register(YourModel, YourModelAdmin)

在上述代码中,我们创建了一个名为YourModelForm的表单类,并将DateTimeRangeField字段的widget属性设置为DateTimeRangeWidget。然后,在YourModelAdmin类中使用form属性将自定义的表单类与YourModel模型关联起来。

通过以上步骤,我们可以在Django admin中正确显示postgres数据库中的DateTimeRangeField字段的值,并使用合适的日期时间范围选择器进行输入和编辑。

推荐的腾讯云相关产品:腾讯云数据库PostgreSQL,产品介绍链接地址:https://cloud.tencent.com/product/postgresql

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • django admin后管定制-显示字段的实例

    先说需求: 1、django 自带了admin后管,如果我们需要使用,只需把我们定义的models注册即可; 2、但如果只是简单注册,那显示的很简单,根本看不到每行记录的描述信息,全部以model object...1、显示关键信息 效果如下图,这样就好看多啦。 ? 2、配置 在 admin.py 文件中配置一下就行。...admin.py # Underwriter admin model class UnderwriterAdmin(admin.ModelAdmin): # 需要显示的字段信息 list_display...db_table = “user” 自定义表名为user Django 使用admin来管理数据库中的内容 Django提供了自带的admin功能,可以很方便的管理网站。...以上这篇django admin后管定制-显示字段的实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2.9K20

    python测试开发django-19.admin后台自定义显示

    前言 djangoadmin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观。...在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速的搜索相关内容 优化列表显示 django的表信息列表显示默认值显示了表的相关属性 ?...如果我们想让表里面的字段内容全部显示出来,需在admin.py文件添加list_display 属性,相关代码如下 # admin.py from django.contrib import admin...', 'psw', 'mail') # 设置显示的字段 # User表 admin.site.register(models.User, ControlUser) admin.site.register...class ControlUser(admin.ModelAdmin): '''自定义列表中栏目 添加list_display 属性''' # 显示的字段 list_display

    57920

    Django 2.1.7 Admin - 注册模型、自定义显示列表字段

    Admin站点 内容发布的部分由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块。...使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...打开assetinfo/admin.py文件,编写如下代码: from django.contrib import admin # Register your models here. from .models...4.自定义管理页面 在列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。Django提供了自定义管理页面的功能,比如列表页要显示哪些值。...(ServerInfo, ServerInfoAdmin) 刷新ServerInfo的列表页,所有属性都显示出来了 最终assetinfo/admin.py文件代码如下 from django.contrib

    1.1K20

    django admin 根据choice字段选择的不同来显示不同的页面方式

    unicode_literals from django.contrib import admin from image_cropping import ImageCroppingMixin from...salmonella.admin import SalmonellaMixin from tip.models import Tip,TipTag @admin.register(Tip) class...class User(models.Model): class Meta: # 此处设置 admin显示名称 verbose_name = verbose_name_plural...动态显示菜单权限 动态获取显示菜单,注意本次显示是后台操作 需要获取当前用户的权限信息,获取 url 和 是否为菜单,以及所带的 icon 图标。因为设计到传值的问题,于是我们产生了自定过滤器。...以上这篇django admin 根据choice字段选择的不同来显示不同的页面方式就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2.9K10

    Django 2.1.7 Admin管理后台 - 注册模型、自定义显示列表字段

    使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...打开assetinfo/admin.py文件,编写如下代码: from django.contrib import admin # Register your models here. from .models...4.自定义管理页面 在列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能,比如列表页要显示哪些值。...(ServerInfo, ServerInfoAdmin) 刷新ServerInfo的列表页,所有属性都显示出来了 最终assetinfo/admin.py文件代码如下 from django.contrib...) class ServerInfoAdmin(admin.ModelAdmin): pass 完整admin.py代码如下: from django.contrib import admin

    2.8K40

    django admin详情表单显示中添加自定义控件的实现

    在开发中有需求在详情显示里外键字段内容,并且添加按钮弹窗内容,以及按钮跳转内容。...form自带了widget控件,比如我想在里面添加一个按钮,记录用户的积分消耗情况,那么就可以在类名下直接添加: from django.forms import widgets class AForm...至此,我们的form添加额外字段显示以及button操作就完成了,还有最后一点,当type为text时我们直接添加value即可,type为button时,如果需要点击弹窗该如何操作。...补充知识:Django admin 列表每行后面添加审核按钮 我就废话不多说了,还是直接看代码吧!...刷新页面即可; 以上这篇在django admin详情表单显示中添加自定义控件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考。

    4.9K20

    django admin 给 字段 增加 HTML 样式(显示图片、设置字体颜色、超链接、按钮等)

    django admin 后台样式默认情况下都是默认的样式,有时候我们需要在 admin 显示一张图片、或者更改一个文案的显示颜色等等,该怎办呢?...在 model 里增加想要显示的字段:thumb_shouw # models.py from django.db import models from django.db.models.signals...在 admin 里启用新增加的字段 # admin.py from django.contrib import admin from apps.blog.models import * class...重启 django 即可看到效果了 # 官方参考文档 https://docs.djangoproject.com/zh-hans/2.2/ref/contrib/admin/ https://docs.djangoproject.com.../zh-hans/2.2/ref/utils/#django.utils.html.format_html 在 admin.py 实现此效果 注意:不要跟该 model 里的任何一个字段名相同 class

    2.9K40

    CVE-2020-7471 Django StringAgg SQL Injection漏洞复现

    0X2 环境搭建 系统:Ubuntu18.04 安装django,这里我选择的是2.2版本 ? 安装postgres数据库 ? 进入psql中,创建数据库,并修改用户密码 ?...然后我们使用django创建项目和应用,命令如下: django-admin startproject sql 创建项目 django-admin startapp vul_app 创建应用...# 数据库名称 'USER': 'postgres', 'PASSWORD': 'postgres', # 数据库用户密码 'HOST': '127.0.0.1...从上面的代码中,我们知道漏洞函数位于模块StringAgg之中 from django.contrib.postgres.aggregates import StringAgg 官方对 delimiter...0X4 漏洞利用 根据其他安全员发布的POC,这里使用Fuzzing测试找到delimiter导致SQL注入的原因是在过滤单引号引起的,我们在创建的应用module中需要添加一个数据模型,用来显示注入前后数据的返回结果

    1.7K20
    领券