有用户反应如果使用非管理员登录EasyNVR,将昵称设置成中文,再进入录像回看之后,列表就会显示为空。
有用户反映如果使用非管理员登录EasyNVR,将昵称设置成中文,再进入录像回看之后,列表就会显示为空。
0x01 什么是JSONField Django是一个大而全的Web框架,其支持很多数据库引擎,包括Postgresql、Mysql、Oracle、Sqlite3等,但与Django天生为一对儿的数据库莫过于...在Django中也支持了Postgresql的数据类型: JSONField ArrayField HStoreField 这三种数据类型因为都是非标量,且都能用JSON来表示,我下文就用JSONField...我们可以很简单地在Django的model中定义JSONField: from django.db import models from django.contrib.postgres.fields import...).all() JSONField的强大让我们能灵活地在关系型数据库与非关系型数据库间轻松地切换,因此在我们的很多业务中都会使用到这个功能。...进入列表页面: ? 此时,我们直接修改GET参数,加入一个查询语句 detail__a%27b=1: ? 可见,已注入单引号导致SQL报错。
4.3 嵌套查找 4.4 参数说明 4.5 自定义过滤器 一、普通过滤 REST 框架的通用列表视图的默认行为是返回模型管理器的整个查询集。...'django_filters', ... ] REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend...或 ManyToManyField 执行相关查找: search_fields = ['username', 'email', 'profile__profession'] 4.3 嵌套查找 对于 JSONField...如果使用多个搜索词,则仅当所有提供的词都匹配时,才会在列表中返回对象。 搜索行为可能会因在 前面加上各种字符而受到限制。search_fields “^”以搜索开头。 “=”完全匹配。...(目前只支持Django的PostgreSQL后端。 ‘$’ 正则表达式搜索。
,我一开始将其定义为proto(这里要尤其注意,这个数据暂不牵涉到数据交换,单纯是懒,定义proto顺手就定义了),然后在拿到result数组之后,需要将其转化为Java POJO列表。...由JSONArray转化为对象列表,哎??...然后把这几个类的定义从proto改到普通的POJO,然后提取共性,一番折腾下来重新使用fastjson序列化,成功了,但是好多值莫名其妙的为空。尤其是其中的对象,person基本都是空。...这个时候我甚至怀疑了一下是不是fastjson不支持这么复杂的数据转化,比如类里面有几个类的列表。 (!!对不起,马爸爸我不该怀疑你的,对不起我知道我狂妄了,我这数据复杂个屁啊)。...@JSONField 此注解可以使用在属性上和get/set方法上,具体效果为: @JSONField(name="Age") private int age; @JSONField(name="Age
,不勾选生成的字段都为非空类型,勾选以后生成的字段则全为可空类型 在该界面填入要创建 Class 的名称以及对应类的 Json 示例数据,点击 Make 即可生成对应 Class 代码。...,表示不为空。 当在实体类里定义字段为 List 类型时,会根据是否为非空类型而选择生成 convertList 或 convertListNotNull 来进行转换: • List?...: 当定义 List 为可空类型,且 List 里元素的类型也为可空类型时,使用 convertList• List?...: 当定义 List 为可空类型,但 List 里元素的类型为非空类型时,使用 convertListNotNull• List?...: 当定义 List 为非空类型,且 List 里元素的类型也为非空类型时,使用 convertListNotNull asT convert 、convertList 、 convertListNotNull
一、Python兼容性 Django 2.0支持Python3.4、3.5和3.6。Django官方强烈推荐每个系列的最新版本。 最重要的是Django 2.0不再支持Python2!...django.conf.urls.include()方法现在可以从django.urls导入,也就是你可以使用from django.urls import include, path, re_path...现在支持fastupdate和gin_pending_list_limit参数; 新的GistIndex类允许在数据库中创建GiST索引; inspectdb现在可以内省JSONField和RangeFields...django.contrib.sitemaps站点地图 为GenericSitemap构造器增加protocol参数; Cache缓存 cache.set_many()现在返回一个列表,包含了插入失败的键值...测试 为LiveServerTestCase添加多线程支持; Validators验证器 新的ProhibitNullCharactersValidator不允许CharField及其子类的表单输入为空;
简单模型映射△ ✅ 复杂字段逻辑✅ △ 快速原型开发△ ✅ 非模型数据...UUIDField UUID 格式字符串 id = UUIDField(format='hex_verbose') JSONField...JSON 数据编码/解码 metadata =JSONField(binary=False) 关系型字段字段类型...} )完整代码示例from rest_framework import serializersfrom django.utils import timezoneclass ArticleSerializer...max_length=100, label="标题", help_text="请输入文章标题", error_messages={'blank': '标题不能为空'
// 另外 fastjson 还会自动排除为空的字段 // 课程 ID @JSONField(ordinal = ) private int id; //课程名称...需求分析 分析需求文档的对应页面,查看需要展示课程列表的哪些数据。.../** * 查询课程列表信息 */ public List findCourseList(); 实现类 CourseDaoImpl。...list 集合保存参数 List list = new ArrayList(); list.add(); // 判断传入的参数是否为空...DateUtils.getDateFormat(); CourseService cs = new CourseServiceImpl(); String result = ""; // 判断 id 是否为空
Django 后台完善 列表页展示内容修改 在上一篇博客实现了列表数据展示,但是只显示了一列,并且列标题为英文,本篇博客首先解决该问题。...: name 'creatr_time' is not defined 执行保存代码,Django 会自动进行加载,刷新浏览器即可看到效果。...常见的属性如下 list_display:列表显示字段筛选; search_fields:搜索字段筛选; readonly_fields:设置只读字段; ordering:排序字段; fields:表单页显示字段...; exclude:表单页不显示字段; list_filter:边栏筛选; list_editable:列表页可编辑字段设置; list_per_page:列表页显示条数; empty_value_display...:空数据替换文字。
Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttypes...,定制右侧快速筛选。...'id', 'title') def queryset(self, request, queryset): """ 点击查询时,进行筛选...@admin.register(models.UserInfo) class UserAdmin(admin.ModelAdmin): empty_value_display = "列数据为空时...user','pwd','up') def up(self,obj): return obj.user up.empty_value_display = "指定列数据为空时
可以查看一个任务的详细, 包括执行的成功主机列表和失败主机列表。 也可以重新执行这个任务, 或者删除这个活动....Playbook: 执行 PLAYBOOK 的列表。...Prompt on launch CABLE 支持 CABLE 级别参数(非 ansible 变量), 当任务启动的时候再指定这个变量的值。使任务更灵活. 可以设置描述和一组可选值列表....==1.11.4 django-cors-headers==2.1.0 django-filter==1.0.4 django-rest-swagger==2.1.2 djangorestframework...0.0.5 hyperlink==17.3.0 idna==2.5 ipaddress==1.0.18 itypes==1.1.0 Jinja2==2.9.6 jinja2schema==0.1.4 jsonfield
字段筛选条件 字段筛选条件就是 SQL 语句中的 WHERE 从句。就是 Django 中的 QuerySet 的 filter(), exclude() 和 get() 方法中的关键字参数。...数据库 API 支持24种查询类型;可以在 字段筛选参考(field lookup reference) 查看详细的列表。...为空的 Blog。...针对这两种情况,Django 用一种很方便的方式来使用 filter() 和 exclude()。对于包含在同一个 filter() 中的筛选条件,查询集要同时满足所有筛选条件。...更新非关系字段时,传入的值应该是一个常量。更新 ForeignKey 字段时,传入的值应该是你想关联的那个类的某个实例。
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin.py文件中进行控制。...先安装django,创建项目和app pip install django django-admin startproject xxx cd xxx python manage.py startapp...3、BooleanField ---布尔类型=tinyint(1) 不能为空,Blank=True 4、ComaSeparatedIntegerField ---用逗号分割的数字=varchar...,定制右侧快速筛选。...list_display_links,列表时,定制列可以点击跳转。 list_filter,列表时,定制右侧快速筛选。
admin组件使用 Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。...,定制右侧快速筛选。...models.UserInfo) class UserAdmin(admin.ModelAdmin): form = MyForm 20 empty_value_display = "列数据为空时...@admin.register(models.UserInfo) class UserAdmin(admin.ModelAdmin): empty_value_display = "列数据为空时...user','pwd','up') def up(self,obj): return obj.user up.empty_value_display = "指定列数据为空时
String process(Object object, String name, Object value); 对于参数列表中三个参数都很好理解,第一个Object为现在被拦截参数的拥有者,第二个参数为其参数名...记住任何时候加空构造都是个好习惯....配置类 JSONField 类的说明 package com.alibaba.fastjson.annotation; public @interface JSONField { // 配置序列化和反序列化的顺序...一个简单的使用就是 @JSONField(name = "abc"), 序列化和反序列话讲使用abc这个字段, 否则会使用成员变量的名字 举例JSONField(name = "DATE OF BIRTH...json.put("ddd", true); // 对 null 默认是不输出 json.put("eee", null); // 输出空对象
from django.db import models # Create your models here....她们的区别如下: obj1 = models.Publisher.objects.get(name="新华出版社") #返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误...obj2 = models.Publisher.objects.filter(name="新华出版社") #它包含了与所给筛选条件相匹配的对象,返回的是一个对象,如果查询不到,那么返回的是空列表,不报错...典型的url如下: from django.contrib import admin from django.urls import path from app01 import views #...if not pub_name: return render(request, 'publisher_add.html', {'error': "出版社名字不能为空"
探索管理功能 现在我们已经注册了 Poll ,那 Django 就知道了要在管理网站的首页上显示出来: 点击 “Polls” 。现在你在 polls 的 “更改列表” 页。...在 PollAdmin 内添加一行如下所示的代码:: list_filter = ['pub_date'] 这就增加了一个 “筛选” 的侧边栏,让人们通过 pub_date 字段的值来筛选 change...list 显示的内容: 显示筛选的类型取决于你需要筛选的字段类型。...(Django 能以任何用户身份在你的服务器上运行。) 然后,在你的项目中保存模板是一个好习惯。 默认情况下,TEMPLATE_DIRS 值是空的。...自定义你的 应用 模板 细心的读者会问:如果 TEMPLATE_DIRS 默认的情况下是空值, 那 Django 是如何找到默认的管理网站的模板的?
,定制右侧快速筛选。...@admin.register(models.UserInfo) class UserAdmin(admin.ModelAdmin): empty_value_display = "列数据为空时...筛选器是Django后台管理重要的功能之一,而且Django为我们提供了一些实用的筛选器。...主要常用筛选器有下面3个: 1 2 3 4 5 6 7 8 9 10 11 12 from django.contrib...最终生成的结果就是可以选择所有的省,也可以选择所有的市,这并不合理,正确的应该是在选择某个省的时候在市的下拉列表里只有该省的城市。 而,django原生并不能做到这么智能。
按谁分组,models就是谁,annotaten内部传入筛选的条件。...'),Value('新作'))) Q查询 利用Q查询可以实现filter()查询时,查询条件的或非(| 、~)的关系。...的书籍名称 res5 = models.Book.objects.filter(~Q(name='乡村教师新作')|~Q(stock=500)).values('name') print(res5)#非...q添加条件 q.connector = 'or'#默认是and,这里设置的就是各筛选条件之间的关系 q.children.append(('name','乡村教师新作'))#添加筛选条件name='乡村教师...字段参数: 参数 描述 null 用于表示某个字段可以为空。 unique 如果设置为unique=True 则该字段在此表中必须是唯一的 。
领取专属 10元无门槛券
手把手带您无忧上云