[Python]Django模型(Model)(二)

简介: [Python]Django模型(Model)(二)

2.4 模型迁移

在数据库中生成对应的表。

2.4.1 生成迁移文件

生成迁移文件,不会在数据库中生成表,只会创建一个数据表和模型的对应关系。

生成迁移文件,使用如下指令:

python manage.py makemigrations
# 外键约束:book
    # 外键要指定所属的模型类
    book = models.ForeignKey(BookInfo, on_delete=models.CASCADE)

报错:

TypeError: __init__() missing 1 required positional argument: 'on_delete'

原因:

django升级到2.0之后,表与表之间关联的时候必须写"on_delete"参数,否则会报错

来源:【异常】TypeError: init() missing 1 required positional argument: ‘on_delete‘

使用的是Django2.0以上的版本,在添加实体外键的时候,2.0以前的版本是默认级联删除的,在2.0以上的版本要加上:

models.ForeignKey(“表名”, on_delete=models.CASCADE)

之后再创建迁移文件,执行命令行就不会报错了

来源:Django运行创建迁移文件报错:TypeError: init() missing 1 required positional argument: ‘on_delete’

子应用没有进行注册,生成迁移文件会报错:

2.4.2 迁移

将创建的数据表和模型的对应关系迁移到数据库中。

迁移,使用如下指令:

python manage.py migrate

2.4.3 查看数据库

其他的表为系统自动创建。

3. Django 自带的后台

3.1 访问后台

运行项目

访问 Django 自带的后台

http://127.0.0.1:端口号/admin
http://127.0.0.1:9090/admin

3.2 修改后台页面的显示语言

3.3 时区设置

3.4 创建后台管理员

终端运行如下命令:

python manage.py createsuperuser
• 1

3.5 登录后台

3.6 注册模型类

3.7 通过后台向数据库中增加数据

3.8 修改后台模型类中对象的显示

在对应的模型类中重写__str__()方法

# 模型类:BookInfo
class BookInfo(models.Model):
    # 书籍名称字段:name
    # 字段的类型为 字符类型字段(CharField) 最长的长度为10
    name = models.CharField(max_length=10)
    def __str__(self):
        return self.name


相关文章
|
10天前
|
开发框架 数据库 开发者
Web开发新境界:用Python玩转Django和Flask!
【6月更文挑战第12天】Python的Web开发框架Django和Flask各有千秋。Django是全能型框架,适合快速开发大型应用,提供ORM、模板引擎、URL路由和后台管理等全面功能。Flask则轻量级且灵活,适用于小型到中型应用,以其简单易用、高度可扩展和灵活路由著称。两者结合使用,能应对各种Web开发需求。
|
8天前
|
前端开发 JavaScript 数据安全/隐私保护
计算机Python项目|django学生成绩管理系统
计算机Python项目|django学生成绩管理系统
|
8天前
|
机器学习/深度学习 调度 Python
SOFTS: 时间序列预测的最新模型以及Python使用示例
这是2024年4月《SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion》中提出的新模型,采用集中策略来学习不同序列之间的交互,从而在多变量预测任务中获得最先进的性能。
29 4
|
5天前
|
存储 JavaScript 前端开发
Python Django下的实现注册验证码
摘要: 使用Python生成随机验证码图像,包括干扰线和噪点,保存到静态文件夹,并将验证码文本存储到数据库。数据库表包含ID、验证码图片路径和验证码文本。JavaScript函数`getRandomInt`生成1到300的随机数,用于请求对应数据库条目的验证码和图片。XMLHttpRequest发送POST请求到服务器,视图函数返回指定ID的验证码图片路径,实现验证码的动态刷新。
|
8天前
|
小程序 前端开发 JavaScript
计算机Python项目|django傣族节日及民间故事推广小程序
计算机Python项目|django傣族节日及民间故事推广小程序
|
5天前
|
前端开发 数据库 Python
Python Django项目下的分页和筛选查询
在Django中实现分页功能,视图函数通过`Paginator`处理数据,每页显示10条记录。URL配置支持带参数和不带参数的分页请求。前端模板使用for循环展示分页数据,包括商品信息和状态按钮,并利用分页组件导航。筛选查询视图根据GET请求的`state`参数过滤上架或下架产品,同样实现分页功能。前端添加状态选择下拉框,分页链接携带查询参数`state`确保筛选状态在翻页时保持。
|
1月前
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
1月前
|
开发框架 前端开发 JavaScript
Python 有哪些Web框架?比如Flask、Django等知识梳理
Python 有哪些Web框架?比如Flask、Django等知识梳理
|
关系型数据库 MySQL 定位技术
Python web框架 之Django + Python3.7 + 集成百度地图【视频讲解】
python集成百度地图 介绍 python集成百度地图demo
500 0
Python web框架 之Django + Python3.7 + 集成百度地图【视频讲解】