您好,登錄后才能下訂單哦!
Django中modles.py怎么創建表?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
modles.py創建表
ORM字段介紹
Djano提供了很多字段類型,比如URL/Email/IP/ 但是mysql數據沒有這些類型,這類型存儲到數據庫上本質是字符串數據類型,其主要目的是為了封裝底層SQL語句;
1、字符串類(以下都是在數據庫中本質都是字符串數據類型,此類字段只是在Django自帶的admin中生效)
name=models.CharField(max_length=32)
EmailField(CharField): IPAddressField(Field) URLField(CharField) SlugField(CharField) UUIDField(Field) FilePathField(Field) FileField(Field) ImageField(FileField) CommaSeparatedIntegerField(CharField)
擴展
models.CharField 對應的是MySQL的varchar數據類型。
char 和 varchar的區別 :
char和varchar的共同點是存儲數據的長度,不能超過max_length限制,
不同點是varchar根據數據實際長度存儲,char按指定max_length()存儲數據;所有前者更節省硬盤空間;
2、時間字段
models.DateTimeField(null=True) date=models.DateField()
3、數字字段
(max_digits=30,decimal_places=10)總長度30小數位 10位)
數字:
num = models.IntegerField() num = models.FloatField() 浮點 price=models.DecimalField(max_digits=8,decimal_places=3) 精確浮點
4、枚舉字段
choice=( (1,'男人'), (2,'女人'), (3,'其他') ) lover=models.IntegerField(choices=choice) #枚舉類型
擴展
在數據庫存儲枚舉類型,比外鍵有什么優勢?
1、無需連表查詢性能低,省硬盤空間(選項不固定時用外鍵)
2、在modle文件里不能動態增加(選項一成不變用Django的choice)
其他字段
db_index = True 表示設置索引 unique(唯一的意思) = True 設置唯一索引 聯合唯一索引 class Meta: unique_together = ( ('email','ctime'), ) 聯合索引(不做限制) index_together = ( ('email','ctime'), ) ManyToManyField(RelatedField) #多對多操作
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。