一起學Django(肆)——通過模型類創建數據表

模型類在MVT框架中負責M部分,所有跟數據庫產生交互的行爲都必須要經過模型類。所謂交互行爲呢,指的就是數據的增刪改查

一、創建模型類

模型類的創建需要在應用文件夾下的models.py模塊中創建對應的類,實際執行過程中,一個類就會對應一張數據庫中的表。創建的類需要繼承models.Modul類,這樣纔會由普通的類轉變爲一個模型類

下面我們舉個栗子,創建一個圖書類和一個英雄類

from django.db import models


class BookInfo(models.Model):
    """圖書模型類"""
    # CharField字符串,參數max_length表示長度
    btitle = models.CharField(max_length=20)
    # DateField日期類型
    bpub_date = models.DateField()
    # 閱讀量   IntegerField數字
    bread = models.IntegerField(default=0)
    # 評論量
    bcommon = models.IntegerField(default=0)
    # 刪除標記
    isDelete = models.BooleanField(default=False)

    def __str__(self):
        return self.btitle


class HeroInfo(models.Model):
    """英雄類"""
    hname = models.CharField(max_length=50)
    # BooleanField布爾值類型,default參數指定默認值
    hgender = models.BooleanField(default=False)
    # 備註
    hcommon = models.CharField(max_length=128)
    # 表之間的關係屬性:關聯主表BookInfo
    # 關係屬性對應的表的字段名格式:關係屬性名_id
    # 賦值的時候賦值關聯主表類的對象
    hbook = models.ForeignKey('BookInfo')

    def __str__(self):
        return self.hname

二、生成遷移文件、執行遷移文件,生成表

模型類創建完成之後,就可以直接生成遷移文件,然後在執行遷移文件來生成對應的數據表

  1. 生成遷移文件:python manage.py makemigrations
  2. 執行遷移生成表:python manage.py migrate

注意:django項目默認使用的是sqlite3數據庫,如果需要使用MySQL數據庫的話,需要在settings.py文件中進行相關的配置,配置項如下

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',   # 數據庫類型
        'NAME': 'test',     # 數據庫名字
        'USER': 'root',  # 自己數據庫用戶名
        'PASSWORD': '123456',    # 自己的數據庫的密碼
        'PORT': '3306',   # mysql數據庫端口,一般爲3306,如果不是請修改
        'HOST': 'localhost'     # 數據庫所在的主機
    }
}

下圖就是模型類生成的表的名形式 ,表名格式是:項目名.模型類名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章