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谓词表:




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