模型定義的基本結構:
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謂詞表: