Django ORM 自定義 char 類型字段解析
更新時間:2019年08月09日 14:56:15 作者:Sch01aR#
這篇文章主要介紹了Django ORM 自定義 char 類型字段解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
用 CharField 定義的字段在數(shù)據(jù)庫中存放為 verchar 類型

自定義 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):
"""
限定生成數(shù)據(jù)庫表的字段類型為 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):
"""
限定生成數(shù)據(jù)庫表的字段類型為 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)
執(zhí)行命令更新到數(shù)據(jù)庫

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
關于pygame.surface.blit()方法4個參數(shù)的使用
這篇文章主要介紹了關于pygame.surface.blit()方法4個參數(shù)的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
用python一行代碼得到數(shù)組中某個元素的個數(shù)方法
今天小編就為大家分享一篇用python一行代碼得到數(shù)組中某個元素的個數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

