首页 > 其他 > 详细

Django ORM 常用字段和参数

时间:2019-02-03 22:24:18      阅读:250      评论:0      收藏:0      [点我收藏+]

Django ORM 常用字段和参数

一:常用字段

AutoField
int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。

IntegerField
一个整数类型,范围在 -2147483648 to 2147483647。

CharField
字符类型,必须提供max_length参数, max_length表示字符长度。

DateField
日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。

DateTimeField
日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例。

二:自定义char类型字段
首先要知道在常用字段中CharField默认的字段类型为varchar类型
如何指定自定义char类型字段:
1.先自定义一个类
class FixedCharField(models.Field): #FixedCharField为自己取的名称,不是固定的

"""
自定义的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

2.在使用的时候,就继承类名
class Person (models.Model):
name = models.CharField(max_length=32) #默认的CharField字段是varchar类型
new_name = FixedCharField(max_length=64, default="张三") #而怎么设置他的类型为char类型,并且为自定义的长度,注意不是models.FixedCharField

def __str__(self):
    return  self.name

在数据库中可以看到,字段的类型为自定义的char类型长度

技术分享图片

Django ORM 常用字段和参数

原文:https://www.cnblogs.com/sunny7/p/10351147.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!