django開發系列:ORM模型的創建和映射

django開發系列:ORM模型的創建和映射

創建ORM模型:

ORM模型一般都是放在appmodels.py文件中。每個app都可以擁有自己的模型。並且如果這個模型想要映射到數據庫中,那麼這個app必須要放在settings.pyINSTALLED_APP中進行安裝。以下是寫一個簡單的書籍ORM模型。示例代碼如下:

from django.db import models

# 如果要將一個普通的類變成一個可以映射到數據庫中的ORM模型
# 那麼必須要將父類設置爲models.Model或者他的子類
class Book(models.Model):
    # 1. id:int類型,是自增長的。
    id = models.AutoField(primary_key=True)
    # 2. name:varchar(100),圖書的名字
    name = models.CharField(max_length=100,null=False)
    # 3. author:varchar(100),圖書的作者
    author = models.CharField(max_length=100,null=False)
    # 4. price:float,圖書的價格
    price = models.FloatField(null=False,default=0)

class Publisher(models.Model):
    name = models.CharField(max_length=100,null=False)
    address = models.CharField(max_length=100,null=False)


# 1. 使用makemigrations生成遷移腳本文件
# python manage.py makemigrations

# 2. 使用migrate將新生成的遷移腳本文件映射到數據庫中
# python manage.py migrate

以上便定義了一個模型。這個模型繼承自django.db.models.Model,如果這個模型想要映射到數據庫中,就必須繼承自這個類。這個模型以後映射到數據庫中,表名是模型名稱的小寫形式,爲book。在這個表中,有四個字段,一個爲name,這個字段是保存的是書的名稱,是varchar類型,最長不能超過20個字符,並且不能爲空。第二個字段是作者名字類型,同樣也是varchar類型,長度不能超過20個。第三個是出版時間,數據類型是datetime類型,默認是保存這本書籍的時間。第五個是這本書的價格,是浮點類型。
還有一個字段我們沒有寫,就是主鍵id,在django中,如果一個模型沒有定義主鍵,那麼將會自動生成一個自動增長的int類型的主鍵,並且這個主鍵的名字就叫做id

映射模型到數據庫中:

ORM模型映射到數據庫中,總結起來就是以下幾步:

  1. settings.py中,配置好DATABASES,做好數據庫相關的配置。
  2. app中的models.py中定義好模型,這個模型必須繼承自django.db.models
  3. 將這個app添加到settings.pyINSTALLED_APP中。
  4. 在命令行終端,進入到項目所在的路徑,然後執行命令python manage.py makemigrations來生成遷移腳本文件。
  5. 同樣在命令行中,執行命令python manage.py migrate來將遷移腳本文件映射到數據庫中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章