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操作数据库之sqlite3打开数据库、删除、修改示例
Mar 13 Python
跟老齐学Python之通过Python连接数据库
Oct 28 Python
Python的__builtin__模块中的一些要点知识
May 02 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
Python实现购物程序思路及代码
Jul 24 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
解决python3 Pycharm上连接数据库时报错的问题
Dec 03 Python
django 外键model的互相读取方法
Dec 15 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 Python
浅谈Python中的正则表达式
Jun 28 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
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
Javascript继承机制详解
2017/05/30 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
对python多线程与global变量详解
2018/11/09 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
基于python3生成标签云代码解析
2020/02/18 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
linux下进程间通信的方式
2013/01/23 面试题
关于环保的建议书
2014/05/12 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
与美同行演讲稿
2014/09/13 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
创业计划书之甜品店
2019/09/18 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
Python OpenCV实现图形检测示例详解
2022/04/08 Python
python如何为list实现find方法
2022/05/30 Python