Django ORM 自定义 char 类型字段解析


Posted in Python onAugust 09, 2019

用 CharField 定义的字段在数据库中存放为 verchar 类型

Django ORM 自定义 char 类型字段解析

自定义 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)

执行命令更新到数据库

Django ORM 自定义 char 类型字段解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在树莓派2或树莓派B+上安装Python和OpenCV的教程
Mar 30 Python
Python中使用不同编码读写txt文件详解
May 28 Python
Python网络编程 Python套接字编程
Sep 13 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python os.path模块常用方法实例详解
Sep 16 Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 Python
Python实现计算长方形面积(带参数函数demo)
Jan 18 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
python实现信号时域统计特征提取代码
Feb 26 Python
python入门之井字棋小游戏
Mar 05 Python
Python count函数使用方法实例解析
Mar 23 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 #Python
Django中自定义admin Xadmin的实现代码
Aug 09 #Python
python输出决策树图形的例子
Aug 09 #Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 #Python
Django ORM 常用字段与不常用字段汇总
Aug 09 #Python
详解如何减少python内存的消耗
Aug 09 #Python
Django命名URL和反向解析URL实现解析
Aug 09 #Python
You might like
[转帖]PHP世纪万年历
2006/12/06 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
如何用itertools解决无序排列组合的问题
2017/05/18 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
Python 函数list&read&seek详解
2019/08/28 Python
python selenium循环登陆网站的实现
2019/11/04 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
python如何进入交互模式
2020/07/06 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
销售行政专员职责
2014/01/03 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
小学防溺水制度
2014/01/29 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
父亲去世追悼词
2015/06/23 职场文书
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫