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与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Python装饰器用法实例分析
Jan 14 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
python实现数据分析与建模
Jul 11 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
Django项目中实现使用qq第三方登录功能
Aug 13 Python
Django之form组件自动校验数据实现
Jan 14 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
python执行js代码的方法
May 13 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
php2html php生成静态页函数
2008/12/08 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
PHP反射机制用法实例
2014/08/28 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
JS性能优化笔记搜索整理
2013/08/21 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
python 执行文件时额外参数获取的实例
2018/12/18 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
Python实现自动访问网页的例子
2020/02/21 Python
python程序输出无内容的解决方式
2020/04/09 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
教师现实表现材料
2014/02/14 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
2014年店长工作总结
2014/11/17 职场文书
颐和园导游词
2015/01/30 职场文书
Golang 并发下的问题定位及解决方案
2022/03/16 Golang