10余年建站經(jīng)驗, 成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)客戶的見證與正確選擇。創(chuàng)新互聯(lián)建站提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。>class test_orm(models.Model):
id = models.AutoField(primary_key=True)
# int自增列,必須填入?yún)?shù)primary_key=True,當model中沒有自增咧,如果不寫,python會自動創(chuàng)建一個名為id的自增咧
age = models.IntegerField(default=12)
# 一個整數(shù)類型,范圍-21474836648到21474836648
name = models.CharField(max_length=64)
# 字符類型,必須提供max_length的參數(shù),表示字符的大長度
import datetime
t1 = models.DateField(auto_now_add=True,default=datetime.date(year=2018,month=4,day=3))
# t1 = models.DateField(auto_now=True)
# 日期字段,日期格式,YYYY-MM-DD,相當于python中的
t2 = models.DateTimeField(auto_now=True)
# t2 = models.DateTimeField(auto_now_add=True)
# 日期時間字段,格式為YYYY-MM-DD HH:MM:SS
# auto_now_add:創(chuàng)建數(shù)據(jù)記錄的時候會把當前時間添加到數(shù)據(jù)庫
# auto_now:每次更新記錄的時候會更新字段
t3 = models.SmallIntegerField()
# 小整數(shù),從-32768到32768
t4 = models.PositiveIntegerField()
# 正整數(shù)類型,從0到21474836648
t5 =models.PositiveSmallIntegerField()
# 正整數(shù)類型,從0到32768
t6 = models.BigIntegerField()
# 長整數(shù),從-9223372036854775808到9223372036854775808
t7 = models.BooleanField()
# 布爾值類型
t8 = models.NullBooleanField()
# 可以為空的布爾值類型
t9 = models.TextField()
# 文本類型
t10 =models.EmailField()
# 字符串類型,僅僅在django的admin會校驗郵箱的格式
t11 = models.IPAddressField()
# 字符串類型,僅僅在django的admin會校驗ipv4的格式
t12 = models.GenericIPAddressField(protocol="ipv4")
# t12 = models.GenericIPAddressField(protocol="ipv6")
# t12 = models.GenericIPAddressField(protocol="both")
# 字符串類型,在django的admin中會同時校驗ipv4和ipv6
t13 = models.URLField()
# 字符串類型,僅僅在django的admin會校驗url的格式
t14 = models.SlugField()
# 字符串類型,django的admin提供驗證字母,數(shù)字下劃線,減號
t15 = models.UUIDField()
t16 = models.FileField()
# 保存路徑到數(shù)據(jù)庫中
t17 = models.FloatField()
# 浮點型
# import datetime
# now = datetime.datetime.now()
#
# d = datetime.timedelta(days=7)
#
# now = now + d
# 上面的代碼是求一個時間間隔,當前時間的的7天后的時間
# -------------------------------------------------------
# 字段參數(shù)
t18 = models.CharField(null=True,unique=True,db_index=True,primary_key=True,max_length=64,default="aaa")
# db_index:為這個字段設(shè)置索引
t19 = models.ForeignKey(to="test1",to_field="name",related_name="3b",on_delete=models.CASCADE(),db_constraint=False)
# to:關(guān)聯(lián)那張表
# to_field:關(guān)聯(lián)表的哪個字段
# related_name:反向查找的時候帶起表明_set
# on_delete:表示我這個字段關(guān)聯(lián)的單表刪除了,我這個表的數(shù)據(jù)該如何處理
# db_constraint:修改外鍵設(shè)置為軟關(guān)聯(lián),不一定一定要從另外一張表中選,可以自定義,默認是True,可以調(diào)整為False
to和related_name也可以用在多對多的關(guān)系中,已經(jīng)設(shè)計數(shù)據(jù)庫,這2個屬性最好都加上
# 這個就是元類,就是我們經(jīng)常說的元數(shù)據(jù)
class Meta:
db_table = "ddddd"
# 設(shè)置表明
unique_together = ("t12","t19")
# 聯(lián)合唯一
index_together = ("t1","t13")
# 聯(lián)合索引,為這兩列做一個索引
ordering = "t19"
# 指定默認按照什么來排序
新聞名稱:Djang的model創(chuàng)建的字段和參數(shù)詳解-創(chuàng)新互聯(lián)
標題來源:
http://weahome.cn/article/ichod.html