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处理JSON数据并生成条形图
Aug 05 Python
Python使用三种方法实现PCA算法
Dec 12 Python
numpy数组拼接简单示例
Dec 15 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
Python实现简单查找最长子串功能示例
Feb 26 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
PyQt5 QDockWidget控件应用详解
Aug 12 Python
Python利用socket模块开发简单的端口扫描工具的实现
Jan 27 Python
python tkinter实现定时关机
Apr 21 Python
实例讲解Python中sys.argv[]的用法
Jun 03 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获取服务器信息的实现代码
2013/02/04 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
vue-axios使用详解
2017/05/10 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python实现百度关键词排名查询
2014/03/30 Python
深入理解Python中装饰器的用法
2016/06/28 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
Python生成器generator用法示例
2018/08/10 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python读取几个G的csv文件方法
2019/01/07 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
python gdal安装与简单使用
2019/08/01 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
安卓程序员求职信
2014/02/28 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
2014财务年度工作总结
2014/11/11 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
企业投资意向书
2015/05/09 职场文书
英文投诉信格式
2015/07/03 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书