[django基礎] 05-MTV - Model

Model

  • 開發的第一步, 數據模型的構建

ORM

Object relational mapping 對象關係映射
解耦: 數據庫 - 業務邏輯

Model --> ORM(->不同的sql) --> Databade

Django定義模型

  • 數據庫的數據類型

  • django默認生成自增的主鍵

  • 命名: 不允許使用 連續的下劃線

  • 邏輯刪除, 不做物理刪除

  • 字段類型

    • AutoField 根據實際id 自動增長的IntegerField
    • CharField 字符串Text
    • TextField 大文本字段
    • IntegerField 整數
    • DecimalField 高精度浮點型
    • FloatField
    • BooleanField True Flase
    • NullBooleanField True Flase Null
    • DateField 日期
    • TimeField 時間
    • DateTimeField 日期時間
    • FileField 文件上傳字段(文件路徑)
    • ImageField 圖片 繼承FileField, 增加校驗:是否是圖片
  • 字段選項(字段屬性)

    • null 允許爲空值 默認 F
    • blank 允許爲空 默認 F
    • db_column 字段名
    • db_index 是否建立索引
    • default 默認值
    • primary_key 主鍵
    • unique 是否唯一
  • 關係

    • 分類
      • ForeignKey
      • ManyToManyField
      • OneToOneField
  • 元信息

    • 類中類

使用

from django.db import models

# Create your models here.

class Person(models.Model):
    p_name = models.CharField(max_length=16, unique=True,db_column='name')
    p_age = models.IntegerField(default=0,db_column='age')
    p_sex = models.NullBooleanField(default=None,db_column='sex')

    class Meta:
        db_table = 'Django_People'

模型成員objects

    • get
    • all
    • filter :返回符合篩選條件的數據集
    • exclude :返回符合篩選條件的數據集
      • person.objects.filter(xx).filter(xx).exclude(xxx)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章