Django 模型(Models)与数据库入门教程:课设必备的数据库设计基础

Django 模型(Models)与数据库入门教程:课设必备的数据库设计基础

在上一节中,我们创建了第一个 Django 项目,并完成了基本的视图和模板配置。接下来,学习如何用 Django 的模型(Models)定义数据库结构,并让它帮你自动生成数据库表。这是课设和毕设中数据库设计的核心内容。


一、什么是 Django 模型?

Django 模型是用 Python 类定义数据库表的结构,每个模型对应数据库中的一张表,模型的属性对应表的字段。Django 提供了强大的 ORM(对象关系映射)功能,免去手写 SQL 建表语句的烦恼。


二、创建第一个模型

2.1 编辑 blog/models.py

打开 blog/models.py 文件,添加一个简单的学生模型:

from django.db import models

class Student(models.Model):
    name = models.CharField(max_length=100, verbose_name='姓名')
    student_id = models.CharField(max_length=20, unique=True, verbose_name='学号')
    email = models.EmailField(verbose_name='邮箱')
    enrolled_date = models.DateField(verbose_name='入学日期')

    def __str__(self):
        return f"{self.name} ({self.student_id})"

解释:

  • CharField 用于字符类型字段,max_length 必填;
  • unique=True 保证学号唯一;
  • EmailField 自动验证邮箱格式;
  • DateField 存储日期;
  • __str__ 方法定义对象的字符串表示,方便管理后台显示。

三、将模型同步到数据库

3.1 生成迁移文件

python manage.py makemigrations blog

Django 会检测到新模型,生成迁移脚本。这里注意makemigrations后面要加上我们在上一步中创建的app名称。

3.2 应用迁移,创建数据表

python manage.py migrate

执行后,Django 会在数据库中创建对应的 blog_student 表。


四、注册模型到后台管理(Django Admin)

方便后续数据管理和课设演示。

4.1 编辑 blog/admin.py

from django.contrib import admin
from .models import Student

admin.site.register(Student)

4.2 创建超级管理员账号

python manage.py createsuperuser

按提示输入用户名、邮箱和密码。

4.3 启动服务器并登录后台

访问 http://127.0.0.1:8000/admin,使用管理员账号登录,即可管理 Student 表数据。


五、使用 Django Shell 测试模型操作

python manage.py shell

进入交互环境后:

from blog.models import Student

# 新建记录
s = Student(name='张三', student_id='20250001', email='zhangsan@example.com', enrolled_date='2023-09-01')
s.save()

# 查询记录
students = Student.objects.all()
print(students)

# 过滤查询
student = Student.objects.get(student_id='20250001')
print(student.name)

六、小结

  • Django 模型通过 Python 类定义数据库表;
  • 通过 makemigrationsmigrate 自动生成并执行建表语句;
  • 注册到 Admin 后台方便数据管理;
  • Django Shell 提供快速测试数据增删改查的环境。

七、课设建议

  1. 根据课设需求设计合理的模型字段和关系(外键、ManyToMany 等);
  2. 设计前最好先画好 ER 图,有助于梳理数据结构;
  3. 利用 Admin 后台快速录入测试数据,方便演示;
  4. 写好模型的 __str__ 方法,提升后台显示体验。

如果你想了解更多 Django 模型高级用法(如关联关系、信号、性能优化等),欢迎留言,我会继续为你输出后续内容。


如果本文对你有帮助,别忘了点赞关注支持我,带你从 Django 小白变高手!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柚子科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值