【愚公系列】2021年12月 Python教学课程 33-Django框架之模型
【摘要】 一、模型类的定义代码如下:from django.db import models# Create your models here.# 准备书籍列表信息的模型类class BookInfo(models.Model): # 创建字段,字段类型... name = models.CharField(max_length=10)# 准备人物列表信息的模型类class People...
一、模型类的定义
代码如下:
from django.db import models
# Create your models here.
# 准备书籍列表信息的模型类
class BookInfo(models.Model):
# 创建字段,字段类型...
name = models.CharField(max_length=10)
# 准备人物列表信息的模型类
class PeopleInfo(models.Model):
name = models.CharField(max_length=10)
gender = models.BooleanField()
# 外键约束:人物属于哪本书
book = models.ForeignKey(BookInfo)
1.字段及参数
CharField
: .要求必须有参数 maxlength,限制该字段的最大字符数;
IntegerField
:用于保存整数;
DecimalField
:浮点数. 必须 提供两个参数:max_digits 总位数,decimal_places 小数位数;
DateField
:日期字段,年月日;
DateTimeField
:年月日时分秒;
对于日期字段需要注意的参数:
auto_now:每次操作改数据都会自动更新时间;
auto_now_add:新增数据的时候会将当前时间自动添加,后续的修改该字段不会自动更新。
EmailField
:带有检查Email合法性的 CharField,不接受 maxlength 参数.
ForeignKey
:外键字段,设置在 '一对多’中’多’的一方;
OneToOneField
:一对一字段,用来扩展已有字段
ManyToManyFiled
:多对多字段,建议设置在查询频率较高的表中
二、数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'blog', #你的数据库名称 数据库需要自己提前建好
'USER': 'root', #你的数据库用户名
'PASSWORD': '', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}
}
三、模型迁移 (建表)
迁移由两步完成 :
生成迁移文件:根据模型类生成创建表的语句
python manage.py makemigrations
执行迁移:根据第一步生成的语句在数据库中创建表
python manage.py migrate
迁移之后出现0001的文件,就代表数据库迁移完成,数据库有对应的表
四、单独的py文件测试ORM操作需要配置的参数
import os
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day58.settings")
import django django.setup()
from app01 import models # 这一句话必须在这下面导入
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)