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 相关文章推荐
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 Python
python文件操作之目录遍历实例分析
May 20 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
python实现微信每日一句自动发送给喜欢的人
Apr 29 Python
django url到views参数传递的实例
Jul 19 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Django与pyecharts结合的实例代码
May 13 Python
Django 用户登陆访问限制实例 @login_required
May 13 Python
python pymysql库的常用操作
Oct 16 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 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 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
vue.js中$set与数组更新方法
2018/03/08 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
python中的计时器timeit的使用方法
2017/10/20 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
Python代码注释规范代码实例解析
2020/08/14 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
工厂保安员岗位职责
2014/01/31 职场文书
毕业实习评语
2014/02/10 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
电气自动化求职信
2014/06/24 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
工作时间调整通知
2015/04/24 职场文书
旷工检讨书大全
2015/08/15 职场文书
源码解读Spring-Integration执行过程
2021/06/11 Java/Android
Python预测分词的实现
2021/06/18 Python