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基础教程之popen函数操作其它程序的输入和输出示例
Feb 10 Python
python实现求最长回文子串长度
Jan 22 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
Python实现点阵字体读取与转换的方法
Jan 29 Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
python3 字符串知识点学习笔记
Feb 08 Python
python字符串下标与切片及使用方法
Feb 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
社区(php&&mysql)三
2006/10/09 PHP
php中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
跟我学Laravel之视图 & Response
2014/10/15 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
wxPython 入门教程
2008/10/07 Python
python3生成随机数实例
2014/10/20 Python
python并发编程之线程实例解析
2017/12/27 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
Python  Django 母版和继承解析
2019/08/09 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
python集合能干吗
2020/07/19 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
法国足球商店:Footcenter
2019/07/06 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
家长给幼儿园的表扬信
2014/01/09 职场文书
活动新闻稿范文
2015/07/17 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android