Models - Django 2.0
基础
- 每个
model
都是django.db.models.Model
的子类 - 每个属性都代(对应)表数据表中的一个字段
- django 会自动会模型生成数据库操作方法的抽象(ORM)
小栗子
在 models.py
文件中创建一个新模型 Person
,包含 first_name
和 last_name
两个字段。
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
与此相对应的 SQL 语句:
CREATE TABLE myapp_person (
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
);
备注:
- 数据库的表明会根据模型名称自动生成,例如:
myapp_person
。可在class Meta
中设置db_table
属性自定义表名。 - 自增
id
字段会被自动添加,无需手动指定。 - django 会根据实际使用的数据库后端自动生成并处理准确的
SQL
语句。