數(shù)據(jù)庫表的建立

一個網(wǎng)站的數(shù)據(jù)庫經(jīng)常會反應(yīng)網(wǎng)頁上的輸入窗體的使用情況,而輸入窗體中常常會有一些字段提供候選數(shù)據(jù)(例如在窗體中詢問喜歡的顏色,品牌車型,尺寸大小等)供網(wǎng)友選擇,那么如何在django中實現(xiàn)呢?

# 我們首先在models.py中加入以下內(nèi)容
class Product(models.Model):
    SIZES = (
        ('S', 'Smaill'),
        ('M', 'Medium'),
        ('L', 'Large'), 
    )
  sku = models.CharField(max_length=5)
  name = models.CharField(max_length=20)
  price = models.PositiveIntegerField()
  size = models.CharField(max_length=1, choices=SIZES)

如上述代碼所示,現(xiàn)場建一個名為SIZES的元組,其中每一個元素也是元組。創(chuàng)建完之后執(zhí)行python manage.py migrate命令進(jìn)行數(shù)據(jù)庫表初始化,如果這是第一次設(shè)置Model的內(nèi)容要先執(zhí)行python manage.py makemigrations命令。
回到admin.py中,加入這個新的類并注冊 ( 提前創(chuàng)建了一個超級管理員 ) :

from django.contrib import admin
from mysite.models import Product

admin.site.register(Product)

這樣打開瀏覽器,進(jìn)入django的admin界面,打開Product的操作界面,就可以看到,Size采用列表的方式來呈現(xiàn)。

但是我們發(fā)現(xiàn)SIZES中的第一行數(shù)據(jù)拼錯了,應(yīng)該是Small才對,我們寫成了Smaill。我們要修正這個錯誤很簡單,只要在models.py中更正即可。但是要注意的是,因為Django把數(shù)據(jù)庫的操作抽象化了,每一個新增以及修正步驟都必須被記錄下來,以便于后續(xù)的數(shù)據(jù)庫遷移操作,所以處理在models.py中把這個拼錯的地方修正之外,還要執(zhí)行python manage.py makemigrations以及python manage.py migrate記錄下這個修正操作。
這些操作都會被記錄在migrations文件夾下。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容