模型定义的基本结构:
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谓词表: