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 相关文章推荐
python的id()函数解密过程
Dec 25 Python
Python检测一个对象是否为字符串类的方法
May 21 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
python使用xlrd模块读取xlsx文件中的ip方法
Jan 11 Python
对Python中的条件判断、循环以及循环的终止方法详解
Feb 08 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
Python如何使用OS模块调用cmd
Feb 27 Python
Python如何脚本过滤文件中的注释
May 27 Python
python 制作网站筛选工具(附源码)
Jan 21 Python
python中的plt.cm.Paired用法说明
May 31 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 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之autoload运行机制实例分析
2014/08/28 PHP
php微信开发接入
2016/08/27 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
Three.js快速入门教程
2016/09/09 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
微信小程序开发入门基础教程
2017/04/19 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
Python中正则表达式的详细教程
2015/04/30 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
爱我中华教学反思
2014/04/28 职场文书
广告宣传策划方案
2014/05/21 职场文书
优秀党员个人总结
2015/02/14 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs