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的collections模块中的deque双端队列结构
Jul 07 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
Python中if elif else及缩进的使用简述
May 31 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
python logging 日志的级别调整方式
Feb 21 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 Python
Django使用echarts进行可视化展示的实践
Jun 10 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 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边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
Javascript学习笔记1 数据类型
2010/01/11 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
Bootstrap基础学习
2015/06/16 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python中的with...as用法介绍
2015/05/28 Python
深入理解python函数递归和生成器
2016/06/06 Python
python中的字典操作及字典函数
2018/01/03 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
《望洞庭》教学反思
2014/02/16 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
2014年科室工作总结
2014/11/20 职场文书
建国大业观后感
2015/06/01 职场文书
Python中requests做接口测试的方法
2021/05/30 Python
Hive日期格式转换方法总结
2022/06/25 数据库