用 CharField 定义的字段在数据库中存放为 verchar 类型
自定义 char 类型字段需要下面的代码:
class FixedCharField(models.Field): """ 自定义的 char 类型的字段类 """ def __init__(self, max_length, *args, **kwargs): self.max_length = max_length super(FixedCharField, self).__init__(max_length=max_length, *args, **kwargs) def db_type(self, connection): """ 限定生成数据库表的字段类型为 char,长度为 max_length 指定的值 """ return 'char(%s)' % self.max_length
models.py:
from django.db import models class FixedCharField(models.Field): """ 自定义的 char 类型的字段类 """ def __init__(self, max_length, *args, **kwargs): self.max_length = max_length super(FixedCharField, self).__init__(max_length=max_length, *args, **kwargs) def db_type(self, connection): """ 限定生成数据库表的字段类型为 char,长度为 max_length 指定的值 """ return 'char(%s)' % self.max_length class Person(models.Model): id = models.AutoField(primary_key=True) # 自增的 id 主键 name = models.CharField(max_length=32) sex = FixedCharField(max_length=32, default="Man") # 使用上面自定义的char类型的字段 age = models.IntegerField() birthday = models.DateField(auto_now_add=True)
执行命令更新到数据库
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
是否可以创建string类型的自定义字段并在显示字段描述时显示它们?我想用YouTrack实现一个bug数据库,如果字段“steps to reproduce”必须写在一个很小的列中,这是不可能做到的。 我正在使用YouTrack2018.1。
我创建了一个简单的类型: 现在我想初始化一个已经声明的变量(当前值=0),其结果为 现在,TypeScript告诉我,类型号不能赋给CustomType类型,即使初始化应该工作,只要数字是0、1、2、3、4或5的整数。: TS2322:类型“number”不能赋给类型“CustomType”。 不幸的是,到目前为止,我没有找到任何解决方案。转换为标准类型很好,但我不确定如何使我的自定义类型接受一个
介绍 model 参考文档已经介绍了如何使用 Django 的标准字段类;例如 CharField, DateField,等等。对于很多应用来说,这些类足够用了。 但是在某些情况下, 你所用的Django 不具备你需要的某些精巧功能,或是你想使用的字段与 Django 自带字段完全不同。 Django 内置的字段类型并不能覆盖所有可能遇到的数据库的列类型,仅仅是些普通的字段类型,例如VARCHAR
在Wordpress中,我创建了一个名为“Sports”的自定义帖子类型,其分类法为“sport_locations”。使用高级自定义字段(ACF)插件,我创建了用于显示分类术语的字段。我把一切都准备好了,但是我在输出上传的图像时遇到了问题。 在ACF中,我可以选择图像的返回值为:对象,url或ID。现在我已将其设置为对象。 下面是我到目前为止的代码。我正在single-sports.php中编写
我最近开发了一个网站, 我创建了一个带有slug'job_post‘的自定义post类型,然后客户端也添加了许多post, 我现在需要将slug更改为“/jobs”, 有没有一种方法可以做到这一点而不删除所有的帖子?我担心我会把网站搞乱, 非常感谢,
Rust 自定义数据类型主要是通过下面这两个关键字来创建: struct: 定义一个结构体 enum: 定义一个枚举类型 而常量的创建可以通过 const 和 static 关键字来创建。