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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORM 模型层

發(fā)布時(shí)間:2025/4/16 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORM 模型层 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)模型就是一個(gè)單獨(dú)的,確定的數(shù)據(jù)的信息源,包含了數(shù)據(jù)的字段和操作方法。通常,每個(gè)模型映射為一張數(shù)據(jù)庫中的表

基本原則:

  • 每個(gè)模型在Django中的存在形式為一個(gè)python類
  • 每個(gè)模型都是django.db.modeks.Model的子類
  • 模型的每個(gè)字段(屬性)代表數(shù)據(jù)表的某一列
  • Django將自動(dòng)為你生成數(shù)據(jù)庫訪問API.

簡單示例

下面的模型定義了一個(gè)“人”,它具有first_name和last_name字段:

from django.db import modelsclass Person(models.Model):first_name = models.CharField(max_length=30)last_name = models.CharField(max_length=30)

這里每個(gè)字段都是一個(gè)類屬性,每個(gè)類屬性表示數(shù)據(jù)表中的一個(gè)列。

上面代碼,如下滿原生SQL語句

CREATE TABLE app01_person ("id" serial NOT NULL PRIMARY KEY,"first_name" varchar(30) NOT NULL,"last_name" varchar(30) NOT NULL );

注意:

表名app01_person 由django自動(dòng)生成,默認(rèn)格式為“項(xiàng)目名稱+下劃線+小寫類名”。這個(gè)類名規(guī)則也可以重寫

Django會默認(rèn)自動(dòng)創(chuàng)建自增主鍵id,(也可以自己指定主鍵)。

通常,我們都默認(rèn)把模型編寫都寫在app下的models.py

創(chuàng)建了模型之后,在使用它之前,你需要先在settings文件中的INSTALLED_APPS 處,注冊models.py文件所在的myapp。看清楚了,是注冊app,不是模型,也不是models.py。

當(dāng)我們對模型進(jìn)行增、刪、改時(shí),需執(zhí)行python manage.py makemigrations?? 和 python manage.py migratee

模型字段fields

字段是模型中最重要的內(nèi)容之一,也是唯一必須的部分。

字段在python中表現(xiàn)為一個(gè)類屬性,體現(xiàn)為數(shù)據(jù)表中一個(gè)列。不要使用clean 、save 、delete 等django內(nèi)置的模型API名字,防止命名沖突。

?注意字段的寫法

from django.db import models# 音樂家 class Musician(models.Model):first_name = models.CharField(max_length=50)last_name = models.CharField(max_length=50)instrument = models.CharField(max_length=100)class Album(models.Model):artist = models.ForeignKey(Musician, on_delete=models.CASCADE)name = models.CharField(max_length=100)release_date = models.DateField()num_stars = models.IntegerField()

字段名命名約束

Django不允許下面兩種字段名:

轉(zhuǎn)載于:https://www.cnblogs.com/jassin-du/p/8343527.html

總結(jié)

以上是生活随笔為你收集整理的ORM 模型层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。