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

在Django中声明DB字段时,在verbose_name参数中使用非ascii字符串

在Django中声明数据库字段时,verbose_name参数用于指定该字段在模型中的显示名称。在Django 1.10版本之后,verbose_name参数支持非ASCII字符串。

例如,在一个名为Person的模型中,可以使用verbose_name参数为name字段指定显示名称:

代码语言:python
复制
from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=100, verbose_name="姓名")

在上面的例子中,verbose_name参数的值为"姓名",这是一个非ASCII字符串。在Django中,可以使用u""from __future__ import unicode_literals来定义Unicode字符串。

需要注意的是,在使用非ASCII字符串时,需要确保数据库支持该字符集,否则可能会出现乱码或其他问题。此外,在使用非ASCII字符串时,需要确保代码文件的编码格式正确,否则可能会出现编码错误。

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

相关·内容

Django教程 —— 模型类详解

: 当前选择的数据库支持字段的类型 渲染管理表单使用的默认html控件 管理站点最低限度的验证 Django 会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后...例如:当编写 Django 查询,可以使用 id or pk作为查询参数。...定义属性需要指定字段类型,通过字段类型的参数指定选项,语法如下: 属性 = models.字段类型(选项) 模型类的字段类型 使用时需要引入django.db.models 包 from django.db...参数auto_now表示每次保存对象,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false。..., verbose_name=u'图书类型') 元选项 模型类定义类 Meta,用于设置元信息,如使用 db_table 自定义表的名字。

1.7K20

【愚公系列】2022年01月 Python教学课程 40-Django框架之模型属性详解

文章目录 一、模型类定义 二、模型类迁移 总结 ---- 一、模型类定义 models.py 文件定义模型类,示例如下: from django.db import models # Create...字符串参数max_length表示最大字符个数 TextField 大文本字段,一般超过4000个字符使用 IntegerField 整数 DecimalField 十进制浮点数, 参数max_digits...若为True,则该字段会成为模型的主键字段,默认值是False,一般作为AutoField的选项使用 unique 如果为True, 这个字段必须有唯一值,默认值是False null是数据库范畴的概念...,blank是表单验证范畴的 6) 外键 设置外键,需要通过on_delete选项指明主表删除数据,对于外键引用表数据如何处理,django.db.models包含了可选常量: CASCADE...1)生成迁移文件 python manage.py makemigrations 2)同步到数据库 python manage.py migrate 总结 django开发模型类和字段最好在代码里定义迁移同步到数据库

1.4K20

Django模型

Django模型 Django的模型定义models.py文件。模型是MVT的M,也相当于MVC的M。 Django,模型必须继承自Model类。...自Django3.2后,可以settings.py配置DEFAULT_AUTO_FIELD参数来设置主键的数据类型,默认是DEFAULT_AUTO_FIELD = ‘django.db.models.BigAutoField...若为True,则该字段会成为模型的主键字段,默认值是False,一般作为AutoField的选项使用 unique 如果为True, 这个字段必须有唯一值,默认值是False choices 该参数是从一系列的二元组中提供选项...注意 CharField字段必须要指定参数max_length 还可以为字段指定参数verbose_name,这个参数主要是用来admin管理页面使用,其实是和本地化有关的。...,此选项会抛出IntegrityError异常 注意:我们在数据库,设置外键的时候需要制定另一张表关联的字段,但是Django里并没有指定。

1.9K20

Django之Model的Meta选项详解

使用 Meta类的 db_table 参数来重写数据表的名称。... MySQL中使用小写字母为表命名 当你通过db_table覆写表名称,强烈推荐使用小写字母给表命名,特别是如果你用了MySQL作为后端。...这个设置让你在使用model的Manager上的lastest方法,默认使用指定字段来排序 managed Options.managed 默认为True,意思是Djangomigrate命令创建合适的数据表...这是设置为managed=False唯一的不同之处。. 模型处理的其它任何方面都和平常一样。这包括:     如果你不声明它的话,会向你的模型添加一个自增主键。...这是一个字符串的元组或列表,没有一个字符串都是一个字段和用一个可选的表明降序的'-'构成。当字段名前面没有'-',将默认使用升序排列。使用'?'

89430

drf序列化器之反序列化的数据验证

定义序列化器,指明每个字段的序列化类型和选项参数,本身就是一种验证行为。...4、validate验证 序列化器需要同时对多个字段进行比较验证,可以定义validate方法来验证 def validate(self, data): """验证多个字段,方法名必须为...validate, 参数data代表了所有字段的数据值,其实就是视图代码实例化序列化器对象的data参数 开发,类似 密码和确认密码,此时这2个字段,必须进行比较才能通过验证...字段添加validators选项参数,也可以补充验证行为,如下 # 序列化器的外面声明一个验证函数 def check_price(data): # data代表要验证的数据 if data...: 参数名称 作用 max_length 最大长度[适用于字符串,列表,文件] min_lenght 最小长度[适用于字符串,列表,文件] allow_blank 是否允许数据的值为空,如果使用这个选项

2.1K30

跟着官方文档学Python——Django Rest framework

例如:我们经常使用的淘宝商城就有很多的客户端,Web, iOS 和 Android端,但是当我们 Web 端搜索商品得到的结果和在 iOS 和 Android 端得到的结果却是一样的。...两者都是数据转换格式,比如我们django获取到的数据默认是模型对象,但是模型对象数据无法直接提供给前端或别的平台使用,所以需要把数据进行序列化,变成字符串或者json数据,提供给别人,这是序列化。..."个人简介") # 表信息 class Meta: # 声明数据表名 db_table = "tb_students" verbose_name...() settings.py配置账号密码 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',...用于编写字符串路由 # django.urls.re_path 用于编写正则路由 测试API,命令行启动服务器 python manage.py runserver 可以从命令行访问我们的API,使用诸如

2.3K10

django模型动态修改参数,增加 filter 字段的方式

其它属性详情请查看:官方文档 关系字段 ForeignKey 外键类型ORM中用来表示外键关联关系,一般把ForeignKey字段设置 ‘一对多’’多’的一方。...字段参数: - to:设置要关联的表 - to_field:设置要关联的表的字段 - related_name:反向操作使用字段名,用于代替原反向查询的'表名_set'。...我们会这么写: models.Classes.objects.first().student_set.all() 当我们ForeignKey字段添加了参数 related_name 后, class...through:使用ManyToManyField字段Django将自动生成一张表来管理多对多的关联关系。...主要字段如下: db_table: ORM在数据库的表名默认是 app_类名,可以通过db_table可以重写表名。

3.8K31

【Python全栈100天学习笔记】Day41 Django深入理解框架

=models.PROTECT, verbose_name='所在部门') class Meta: db_table = 'tb_emp' 说明:上面定义模型使用字段类及其属性...字段属性primary_key用于设置主键,max_length用来设置字段的最大长度,db_column用来设置数据库字段对应的列,verbose_name则设置了Django后台管理系统字段显示的名称...,第二值是人类可读的值 db_column 字段对应到数据库表的列名,未指定时直接使用字段的名称 db_index 设置为True将在该字段创建索引 db_tablespace 为有索引的字段设置使用的表空间...unique 设置为True,表字段的值必须是唯一的 verbose_name 字段在后台模型管理显示的名称,未指定时使用字段的名称 ForeignKey属性 limit_choices_to:值是一个...db_tablespace 模型使用的数据表空间 default_related_name 关联对象回指这个模型默认使用的名称,默认为_set get_latest_by 模型可排序字段的名称

2.2K30

Django DjangoFilterBackend django-filter

djangorestframework==3.8.2 django-filter==2.0.0 #2 需求 获取某些数据,需要按某些字段过滤 过滤,有些的字段是 “跨表” 的字段,该如何处理 过滤...,有些字段是 “区间” 字段(比如时间),该如何处理 过滤,有些字段是 “跨表” 后的 “区间” 字段,又该如何处理 #3 起步 #3.1 新建一个Django项目 . ├── app │ ├──...="老师") name = models.CharField(verbose_name="学生姓名",max_length=16) #4 django REST框架简单的过滤 #4.1 没有使用过滤...注意 : url的参数,原来我们filters.py定义的变量是 “RegDate”,到了url变成了 “RegDate_after” 和 “RegDate_before”,这是框架给我设定好的区间变量...django_filters.RangeFilter,如果不是区间可以使用其他 重写函数,里面的参数不会自动补全 坑 使用Q,一定不能使用or / and,只能使用 | & return 的数值,如果使用

1.6K20

00x: Django models.Model详解

Django没有你想要的类型,你可以自己实现。 字段选项 每一个字段使用一个确定的字段声明参数集合。...需要第一个参数为model类对象,所以如果要使用verbose_name,需要显式地声明: 一个惯例就是verbose_name的第一个字母一般不写成大写的形式。...Meta选项 通过使用内部类Meta来设置model的元数据,例子如下: Model的元数据是“任何字段的数据”,例如ordering的选项,数据表名字(db_table),或者人类可读的单复数名称...适用于Python或者Django用于将实例显示为纯字符串的形式,这样的情形往往会出现在交互的命令行窗口或者admin页面。...元数据中将基类的参数abstract=True,这样,该model就不会被用来创建任何数据表。当它被其他model作为基类,它的字段将会作为继承它基类的字段

1.6K20

Django框架学习(四)

返回查询结果的数量,返回是一个数字 1.2条件查询 注意:可以写多个查询条件,默认是且的关系 对应get,filter,exclude参数可以写查询条件 格式:属性名__条件名=值 1.3F对象 用于查询字段之间的比较...from django.db.models import F 1.4Q对象 用于查询条件之间的逻辑关系 from django.db.models import Q 与& 或| ~ 1.5聚合 聚合类...: from django.db.models import Count, Sum,Avg,Max,Min aggregate 1.6排序 默认是升序,如果想要降序,查询字段前写减号。...两大特性: 1、惰性查询:只有使用查询集中的数据才会进行数据库真正查询操作 2、查询结果的缓存:如果使用同一个查询集,只有第一次使用查询集时会进行数据库的查询操作,然后Django框架就会把查询的结果存起来...使用: 1、配置文件设置配置项MEDIA_ROOT=‘上传文件的保存目录’ 2、定义模型类,图片字段的类型使用’imageField’ 3、迁移生成表,并在admin.py注册模型类,直接登录admin

1.5K41

django 1.8 官方文档翻译: 2-1-1 模型语法(初稿)

和 OneToOneField 都要求排在首位的参数得是一个 model 类,所以要使用 verbose_name 关键字参数才能指定自述名: poll = models.ForeignKey(Poll...当某个对象被要强制转换成字符串,或是要做为字符串显示,Python 和 Django 就会调用该方法。最典型的,命令行或管理后台中显示对象,就会用到 unicode() 方法。...当你(且仅在)抽象基类中使用 related_name ,如果想绕过这个问题,就要在属性值包含 ‘%(class)s’ 字符串。这个字符串会替换成字段所在子类的小写名称。...创建托管 model 要谨慎设置 Meta.db_table ,这是因为创建的托管 model 映射某个已存在的 model ,并且有自己的方法。...但在普通的多表继承,子类不能继承父类的 manager ,这是因为处理基类字段,父类的 manager 未必适用。 manager documentation 有详细介绍。

3.1K30

网站搭建-django-学习成绩管理-06-数据库操作之ORM-1

传统上我们可以类似于MySQL Workbench这样的软件手动创建数据库的表,如下图所示,当然也可以通过SQL代码来创建 回想一下,我们一般需要输入哪些信息: 表名,每个字段的信息(包括数据类型,...之前的文章说过,Django通过Models里新建一个Class类,创建一个表。...其实在这样的Class类也涵盖了如上的这些信息,常用关键字如下: 字段类型: CharField(字符串),FloatField(实数,可以保存小数),DateTimeField(日期时间)、DateField...default=0.0字段默认值 db_table设置数据库中表的名字,这是在数据库操作软件(如Workbench)能看到的名字,但所有对数据库的操作使用的是该Class的名称,注意区别 verbose_name...是一个方便理解的名字,Django的Admin可以看到,一般仅仅只是方便理解,可以使用中文 unique_together多个字段联合保持唯一,例如在下面的StudentGrades类('class_name

56630

Django项目知识点(三)

这是一个字符串的元组或列表,没有一个字符串都是一个字段和用一个可选的表明降序的'-'构成。当字段名前面没有'-',将默认使用升序排列。使用'?'...注意:Django一个模型只允许有一个自增字段,并且该字段必须为主键!...validators参数改写的函数 null=True(默认是false,不能为空) blank=True 表示代码创建数据库记录字段可传空白(空串,空字符串). default 默认为 FileField...null 如果是True,Django会在数据库中将此字段的值置为NULL,默认值是False blank 如果为Truedjango的 Admin 添加数据可允许空值,可以不填。...default 默认值 verbose_name   Admin字段的显示名称,如果不设置该参数,则与属性名。

1.8K30

测试开发进阶(二十二)

projects/models.py编写 from django.db import models class Person(models.Model): """ 创建Person...字段 max_length 最大长度 unique 设置当前参数唯一 verbose_name 设置人性化的字段名 help_text 用于API文档的中文名 null 允许为空 black 设置前端可以不传递...修改数据表名称 Projects类添加 db_table表名 verbose_name:admin站点中人性化展示 verbose_name_plural:复数显示(对照英文单词后面+s) class...修改展示的部分 fields 指定在修改「新增」需要显示的字段 list_display 指定要列出的字段 from django.contrib import admin from .models..., verbose_name='所属项目', help_text='所属项目') 第一个参数 字符串:关联的模型路径或者模型类「应用名.模型类」 -> 'projects.Projects' 对象:import

63130

Django 学习笔记之模型高级用法(上)

通常不需要直接使用它,如果表没有设置主键Django 将会自动添加一个自增主键。BigAutoField 其实也是一个 BigIntegerField,但它支持 ID 自动增长。...一般而言,文件都是保存在服务器的硬盘。因此,该字段在数据库其实是一个字符串类型,默认最大长度100,可以通过max_length参数自定义。...2.1 ForeignKey 1) on_delete Django 2.0 ,设置外键需要添加一个 on_delete选项。外键本身涉及到两个表的数据,况且外键在数据库是有约束行为。...db_column: 指定当前数据库表字段的列名。如果没有指定,Django 默认将 Field 名作为字段名。 db_index: 如果赋值为 True, 将会为这个字段创建数据库索引。...db_tablespace:如果该字段已经设置了索引,db_tablespace 用于指定字段索引的数据库表空间的名字。另外还需要看使用的数据库支不支持表空间。如果不支持,该参数设置没有效果。

2K30
领券