Django筆記-模型層

1、模型類定義

模型定義的基本結構:

from django.db import models

class ModelName(models.Model):
  
    field = models.xxfield(...)
    field = models.xxfield(...)

    class Meta:
        db_table = ...
        other_metas = ...

常用Meta類屬性

  • db_table: 映射的數據庫表名,若不提供則默認爲 “應用名_模型名”,例如 app_comment

  • ordering:默認降序,若升序,在在字段名前加“負號”

  • abstract:true or false,標識是否爲抽象基類


2、常用普通字段類型

  • AutoField:自動遞增的整型字段。通常做主鍵。

  • BooleanField:布爾字段

  • CharField:字符串字段

  • IntegerField:用於保存一個整數

  • BigIntegerField:64位整型字段


3 常用字段參數


class Comment(models.Model):

    id = models.AutoField(primary_key=True)

  • null : 定義是否允許對應的數據庫字段爲null , 默認 false

  • blank : 定義字段是否可以爲空

null是數據庫的非空約束

blank用HTML表單驗證,判斷用戶是否可以不輸入


4 基本查詢

Django通過objects對象實現模型數據查詢

# 查詢Comment模型的全部數據

  • Comment.objects.all()

# Django過濾器

  • filter() : 返回符合篩選條件的數據集

  • exclude() : 返回不符合篩選條件的數據集

Comment.objects.filter(pub_date_month=1)

# 多個filter,exclude 可以連接使用

  • Comment.objects.filter(pub_date_month=1).exclude(n_visits_exact=0)

# Django提供get()用於查詢單條數據

  • Comment.objects.get(id_exact = 1)


附:

Django謂詞表:




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