日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【django】创建模型类

發布時間:2025/3/21 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【django】创建模型类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、創建模型類

模型類創建在應用目錄/models.py文件中。
模型類必須繼承Model類,位于包django.db.models中。
接下來首先以“影片-人物”管理為例進行演示
1 定義 在models.py ?件中定義模型類。

# 創建影片模型類 class FilmInfo(models.Model):fid = models.AutoField(primary_key=True, verbose_name='影片編號')fname = models.CharField(max_length=20, verbose_name='影片名稱')playcount = models.IntegerField(default=0, verbose_name='播放量')commentcount = models.IntegerField(default=0, verbose_name='評論量')pub_date = models.DateField(null=True, verbose_name='發版時間')is_delete = models.BooleanField(default=False, verbose_name='邏輯刪除')class Meta:db_table = 'filminfo' # 指定數據庫表名verbose_name = '影片信息' # 在admin站點中顯示的名稱# 優化影片模型類輸出def __str__(self):'''定義每個數據對象的顯示信息'''return self.fname# 創建人物模型類 class PeopleInfo(models.Model):uid = models.AutoField(primary_key=True, verbose_name='演員編號')uname = models.CharField(max_length=10, verbose_name='演員')gender = models.BooleanField(verbose_name='性別')desc = models.CharField(max_length=200, null=True, verbose_name='描述')# 外鍵約束:人物屬于哪部電影film = models.ForeignKey(FilmInfo, verbose_name='外鍵id', on_delete=models.CASCADE)is_delete = models.BooleanField(default=False, verbose_name='邏輯刪除')class Meta:db_table = 'preopleinfo' # 數據表名稱verbose_name = '演員信息' # 在admin站點中顯示的名稱# 優化演員模型類輸出def __str__(self):'''定義每個數據對象的顯示信息'''return self.uname

1) 數據庫表名
模型類如果未指明表名,Django默認以 ?寫應?名_?寫模型類名 為數據庫表名。可通過在內部類中db_table指明數據庫表名。

db_table = 'filminfo' # 指定數據庫表名

2) 關于主鍵
django會為表創建?動增?的主鍵列,每個模型只能有?個主鍵列,如果使?選項設置某屬性為主鍵列后django不會再創建?動增?的主鍵列。

默認創建的主鍵列屬性為id,primary_key=True表示設置主鍵

3) 屬性命名限制
不能是python的保留關鍵字。 不允許使?連續的下劃線,這是由django的查詢?式決定的。 定義屬性時需要指定字段類型,通過字段類型的參數指定選項,語法如下:
屬性 = models.字段類型(選項)

二、字段類型說明

三、字段選項說明


null是數據庫范疇的概念,blank是表單驗證范疇的

四、外鍵

在設置外鍵時,需要通過on_delete選項指明主表刪除數據時,對于外鍵引?表數據如何處理,在django.db.models中包含了可選常量:

五、遷移

生成遷移腳本
python manage.py makemigrations
執行遷移腳本
python manage.py migrate

六、添加測試數據

mysql -h '192.168.1.xxx' - u 'zl1' -pshow databases;

use film_db;show tables;


查看數據表

總結

以上是生活随笔為你收集整理的【django】创建模型类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。