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的Twisted框架编写非阻塞程序的代码示例
May 25 Python
python机器学习之神经网络(三)
Dec 20 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
详解Django 中是否使用时区的区别
Jun 14 Python
超简单使用Python换脸实例
Mar 27 Python
Python中的self用法详解
Aug 06 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
python数据处理——对pandas进行数据变频或插值实例
Apr 22 Python
详解Python 最短匹配模式
Jul 29 Python
python中的插入排序的简单用法
Jan 19 Python
Python操作Excel的学习笔记
Feb 18 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
php 修改密码实现代码
2017/05/24 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
Python3实现Web网页图片下载
2016/01/28 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
大学团支书的自我评价分享
2013/12/14 职场文书
幼儿园老师寄语
2014/04/03 职场文书
同意迁入证明模板
2014/10/26 职场文书
父母教会我观后感
2015/06/17 职场文书
导游词之昭君岛
2020/01/17 职场文书
Redis特殊数据类型bitmap位图
2022/06/01 Redis