iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0
Modern Web

Django新手指南系列 第 12

職務(植物)代理人 建立資料表 江狗(Django) 鐵人Day12

  • 分享至 

  • xImage
  •  

既然叫後台管理,打開來空空的沒東西也挺奇怪的,那我們今天來實作一下建個資料表放進去吧!
小時候在學校有寫過班級姓名座號之類的尤其是開學發新書時,我們就拿來當練習順便介紹一下常用的資料表類型,以下是我們需要的資料表欄位:

  1. 年級
  2. 班級
  3. 性別
  4. 學號
  5. 姓名
  6. 上傳時間
  7. 最後一次修改時間

有5個要我們輸入值的欄位加上2個時間紀錄欄位,共7個欄位要寫進資料表,我們先到models.py添加程式碼如下:


(看不清楚可在右鍵選單點擊在新分頁開啟圖片)

#class <班級清單> (models.Model):
class Classlist(models.Model):
    #<年級> = models. <類型:字串> (<字串最大長度10>) 
    Grade = models.CharField(max_length=10)
    
    #<班級> = models. <類型:字串> (<字串最大長度10>)
    Class = models.CharField(max_length=10)
    
    #<性別> = models. <類型:布林> (<預設為未知狀態>)
    Gender = models.BooleanField(default=None)
    
    #<學號> = models. <類型:整數>
    Number = models.IntegerField()
    
    #<姓名> = models. <類型:字串> (<字串最大長度10>)
    Name = models.CharField(max_length=10)
    
    #<上傳時間> = models. <類型:日期時間> (<自動填入當下時間(當下時區時間/不可覆寫)>)
    Upload_Time = models.DateTimeField(auto_now_add=True, auto_now=False)
    
    #<最後一次修改時間> = models. <類型:日期時間> (<自動填入當下時間(當下時區時間/可複寫)>)
    Last_Modified = models.DateTimeField(auto_now_add=False, auto_now=True)
    
    #auto_now_add 與 auto_now 不可同時為True
    
    def __str__(self): #預設方法之一/物件的字串表達式"詳情可查詢參考資料"
        return'"id":{0},"Grade":{1},"Class":{2},"Gender":{3},"Number":{4},"Name":{5},"Upload_Time":{6},"Last_Modified":{7}'.format(self.pk, self.Grade, self.Class, self.Gender, self.Number, self.Name, self.Upload_Time, self.Last_Modified)

這樣資料表模型就寫好囉!
但這還不能直接使用,需要到views.py處理要輸入進資料表的數據才行,下回我們再來處理相關設定。大家掰掰~

參考資料:
auto_now & auto_now_add 比較
__str__()介紹


上一篇
當馬力歐吃到星星 admin後台註冊 江狗(Django) 鐵人Day11
下一篇
北有戰鬥陀螺 (?) 設定資料庫(上) 江狗(Django) 鐵人Day13
系列文
Django新手指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言