1. 程式人生 > >Django學習手冊 - ORM數據類型

Django學習手冊 - ORM數據類型

django fir 字段 use oot 歸納 屬性 object 拓展

DOM 字段/參數

配置格式:

  Module.字段(參數)

常用的字段歸納:

數字

models.AutoField()                                    自增列(int),必須設置為主鍵
models.IntegerField()                                整型
models.FloatField()                                   浮點
models.DecimalField(max_digits=8,decimal_places=3)    精確浮點                                    

字符串

models.CharField()           字符串,必須設置max_length 參數
models.TextField(Field)      文本類型 

時間

models.DateField()
models.DateTimeField()


參數:
Auto_now              #現在時間(更新時間)
Auto_now_add          #創建時間


註:(更新時間使用)
更新方式一:
Obj = userinfo.objects.filter(id=1).update(name=”root”)    不生效

更新方式二:
Obj 
= userinfo.objects.filter(id=1).first() Obj.save() 生效

其他

Models.BinaryField()            二進制
Models.ImageField()             圖片
Models.FilePathField()          文件        

常用參數:

Null                 是否為空(T,F)
Default              默認參數
Primary_key          主鍵
Db_index             索引
Unique               唯一索引
Verbose_name         顯示字段中文

在Django admin中生效的字段:

Emailfield ()                     
GenericIPAddressField()         
URLField()                         
EmailField(CharField)
IPAddressField(Field)
URLField(CharField)
SlugField(CharField)
UUIDField(Field)
FilePathField(Field)       參數: path, 文件夾路徑 match
=None, 正則匹配 recursive=False, 遞歸下面的文件夾 allow_files=True, 允許文件 allow_folders=False, 允許文件夾 FileField(Field)       參數:     upload_to = "" 上傳文件的保存路徑     storage = None 存儲組件,默認django.core.files.storage.FileSystemStorage
ImageField(FileField) CommaSeparatedIntegerField(CharField)格式必須為逗號分割的數字 拓展: models.CharField 對應的是MySQL的varchar數據類型
char 和 varchar的區別 : char和varchar的共同點是存儲數據的長度,不能 超過max_length限制, 不同點是varchar根據數據實際長度存儲,char按指定max_length()存儲數據;所有前者更節省硬盤空間;


返回值為字段在數據庫中的屬性,Django字段默認的值為:

       ‘AutoField: integer AUTO_INCREMENT,
            BigAutoField: bigint AUTO_INCREMENT,
            BinaryField: longblob,
            BooleanField: bool,
            CharField: varchar(%(max_length)s),
            CommaSeparatedIntegerField: varchar(%(max_length)s),
            DateField: date,
            DateTimeField: datetime,
            DecimalField: numeric(%(max_digits)s, %(decimal_places)s),
            DurationField: bigint,
            FileField: varchar(%(max_length)s),
            FilePathField: varchar(%(max_length)s),
            FloatField: double precision,
            IntegerField: integer,
            BigIntegerField: bigint,
            IPAddressField: char(15),
            GenericIPAddressField: char(39),
            NullBooleanField: bool,
            OneToOneField: integer,
            PositiveIntegerField: integer UNSIGNED,
            PositiveSmallIntegerField: smallint UNSIGNED,
            SlugField: varchar(%(max_length)s),
            SmallIntegerField: smallint,
            TextField: longtext,
            TimeField: time,
            UUIDField: char(32),

Django學習手冊 - ORM數據類型