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编写检测数据库SA用户的方法
Jul 11 Python
Python实现的最近最少使用算法
Jul 10 Python
Python工程师面试题 与Python Web相关
Jan 14 Python
python发送邮件功能实现代码
Jul 15 Python
python使用正则表达式匹配字符串开头并打印示例
Jan 11 Python
python strip() 函数和 split() 函数的详解及实例
Feb 03 Python
Python算法应用实战之队列详解
Feb 04 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 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
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python协程的用法和例子详解
2017/09/09 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
python 两个数据库postgresql对比
2019/10/21 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
设置器与访问器的定义以及各自特点
2016/01/08 面试题
幼儿园中班上学期评语
2014/04/18 职场文书
副总经理岗位职责
2015/02/02 职场文书
专项资金申请报告
2015/05/15 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android
Go语言编译原理之变量捕获
2022/08/05 Golang