Django-12 ORM-基礎字段 模型類-字段類型 模型類-字段選項 模型類-Meta類

創建模型類流程

  1. 創建應用
  2. 在應用下的modules.py中編寫模型類
from django.db import models
class 模型類名(models.Model):
  字段名 = models.字段類型(字段選項)
  1. 遷移同步 makemigrateions & migrate

模型類-字段類型

  • BooleanField()
    • 數據庫類型:tinyint(1)
    • 編程語言中:使用True或Flase來表示值
    • 在數據庫中:使用1或0來表示具體的值
  • CharField()
    • 數據庫類型:varchar
    • 注意:必須要指定max_length參數值
  • DateField()
    • 數據庫類型:date
    • 作用:表示日期
    • 參數:
      1. auto_now:每次保存對象時,自動設置該字段爲當前時間(取值:True/Flase)
      2. auto_now_add:當對象第一次被創建時自動設置當前時間(取值:True/Flase)
      3. default:設置當前時間(取值:字符串格式時間如:'2019-6-1')
        注意:以上三個參數只能多選一
  • DateTimeField()
    • 數據庫類型:datetime(6)
    • 作用:表示日期和時間
    • 參數同DateField
  • FloatField()
    • 數據庫類型:double
    • 編程語言中和數據庫中都使用小數表示值
  • DecimalField()
    • 數據庫類型:decimal(x,y)
    • 編程語言中:使用小數表示該列的值
    • 在數據庫中:使用小數
    • 參數:
      1. max_digits:位數總數,包括小數點後的位數。該值必須大於等於decimal_places
      2. decimal_places:小數點後的數字數量
  • EmailField()
    • 數據庫類型:varchar
    • 編程語言和數據庫中使用字符串
  • IntegerField()
    • 數據庫類型:int
    • 編程語言和數據庫中使用整數
  • ImageField()
    • 數據庫類型:varchar(100)
    • 作用:在數據庫中爲了保存圖片的路徑
    • 編程語言和數據庫中使用字符串
  • TextField()
    • 數據庫類型:longtext
    • 作用:表示不定長的字符串數據

模型類-字段選項

  • 字段選項,指定創建的列的額外的信息
  • 允許出現多個字段選項,多個選項之間使用,隔開
  • primary_key
    • 如果設置爲True,表示該列爲主鍵,如果指定一個字段爲主鍵,則此數據庫不會創建id字段
  • blank
    • 設置爲True時,字段可以爲空,設置爲False時,字段是必須填寫的
  • null
    • 如果設置爲True,表示該列值允許爲空
    • 默認爲False,如果此選項爲False,建議加入default選項來設置默認值
  • default
    • 設置所在列的默認值,如果字段選項null=False,建議添加此項
  • db_index
    • 如果設置爲True,表示爲該列增加索引
  • unique
    • 如果設置爲True,表示該字段在數據庫中的值必須是唯一(不能重複出現的)
  • db_column
    • 指定列的名稱,如果不指定的話則採用屬性名作爲列名
  • verbose_name
    • 設置此字段在admin界面上的顯示名稱

模型類-Meta類

使用內部Meta類來給模型賦予屬性,Meta類下有很多內建的類屬性,可對模型類做一些控制

class Book(models.Model):
    title = models.CharField("書名",max_length=50,default='')
    price = models.DecimalField('價格',max_digits=7,decimal_places=2,default=0.0)
    info = models.CharField('描述', max_length=100,default='')
    class Meta:
        db_table = 'book' #可改變當前模型類對應的表名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章