ORM模型基础:模型介绍和配置;常见的字段类型(文本,数字,日期等);模型同步;模型的元数据;外键关联,复合类型
一,模型介绍及配置
1.掌握Django中ORM的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
二,常见的ORM字段类型
1.了解ORM中常见的字段类型
文本:
数字:
日期:
特殊类型:
模型基类:
django.db.models.Field
2.掌握ORM中字段类型的配置选项
3.了解常用字段类型中的参数传递
CharField
DateTimeField
三,模型的创建
1.掌握模型设计的技巧
2.掌握ORM模型代码的编写
3.掌握常见ORM模型字段类型的使用
manage.py startapp accounts
models.py
from django.db import models
# Create your models here.
class User(models.Model):
""" 用户模型 """
name = models.CharField('姓名', max_length=64)
sex = models.CharField('性别', max_length=1, choices=(
('1', '男'),
('0', '女')
), default='1')
age = models.PositiveIntegerField('年龄', default=0)
username = models.CharField('用户名', max_length=64, unique=True)
password = models.CharField('密码', max_length=256)
remark = models.CharField('备注信息', max_length=64, null=True, blank=True)
created_at = models.DateTimeField('创建时间', auto_now_add=True)
update_at = models.DateTimeField('修改时间', auto_now=True)
四,模型同步migrate
五,模型的元数据
1.掌握Django中元编程的技巧
.元数据的描述:在Python模型中再写一个类,使用Meta类来表示;是对模型的补充说明
class Meta:
verbose_name = '用户基础信息'
verbose_name_plural = '用户基础信息'
db_table = 'oauth_user'
.proxy代理类:有功能代理上面类中所,且可以对它的功能进行扩充,相当于继承
class Manager(User):
class Meta:
proxy = True
def xxx(self):
pass
2.掌握在模型中配置数据库的表名称
3.掌握抽象选项的作用及使用场景
4.了解代理选项的作用及应用场景
六,外键关联模型
1.了解数据库中常见关联关系
2.掌握一对一关系的实现
举例:用户信息进行分表
用户基本信息 <-- 用户详细信息
3.掌握一对多关系的实现
举例:用户提问,问题表加上ForeignKey
用户(1) <-- 问题(n)
4.掌握多对多关系的实现
用户(n) ---- 问题(n)
5.类型的参数选项
六,复合类型(django特有)
1.理解复合类型的使用场景
思考:景点评论,订单评论,旅游攻略评论如何设计ORM模型精简又便于维护
这至少要4个表,如果再加旅游攻略的评价,又要多两个表
2.掌握复合类型的模型设计
3.了解复合类型设计原理
七,章节总结