Django 数据模型生成数据库表的完整配置与执行指南

Theo
Theo
发布时间:2026-10-13 | 4人浏览过
原创

本文详解 Django 中根据数据模型 models 创建数据库表的完整流程。涵盖 SQLite3 与 MySQL 的配置差异,展示 models.py 定义模型及 admin.py 注册的具体代码,并重点解析 makemigrations 与 migrate 命令的执行步骤。针对常见报错提供 --fake 等解决方案,帮助开发者快速完成数据库同步。

若项目采用默认的 SQLite3 数据库,则无需对 settings.py 进行额外配置即可直接使用。

若需使用其他数据库(此处以 MySQL 为例),则必须在 settings.py 中进行相应配置。

DATABASES = {
  'default': {
    'ENGINE':'django.db.backends.mysql',
    'NAME':'webapp',#数据库名
    'USER':'test1',#用户名
    'PASSWORD':'123456',#密码
    'HOST':'127.0.0.1',
    'PORT':'3306',
  }
}

接下来在 models.py 文件中完成数据模型的定义,具体代码结构如下:

class student(models.Model):
#   class Meta:
#     db_table = 'User_table'#指定数据表的名称
  name = models.CharField(max_length=50)
  sex = models.CharField(max_length=10)
  birthday = models.DateField()
  telephone = models.BigIntegerField()
  def __str__(self):
    return self.name

随后在 admin.py 文件中完成该模型的注册操作,以便在后台管理界面使用。

from webapp import models
admin.site.register(models.student)

最后,通过终端 cd 命令进入 manage.py 所在的目录,并执行相应的数据库同步命令。

# Django 1.6.x 及以下
python manage.py syncdb
# Django 1.7 及以上的版本需要用以下命令
python manage.py makemigrations
python manage.py migrate
#python2.7 manage.py **** #如果安装多个python版本的话,最好指定版本

若执行 python manage.py migrate 时出现报错,可尝试使用 python2.7 manage.py migrate appname --fake 命令进行强制同步。

若上述操作仍无法解决问题,请仔细检查代码中是否存在错误,修正后重新执行迁移命令。

以上即为 Django 根据数据模型 models 创建数据表的完整实例分享,旨在为读者提供参考,欢迎持续关注以获取更多技术支持。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表