Django 数据模型生成数据库表的完整配置与执行指南
本文详解 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 创建数据表的完整实例分享,旨在为读者提供参考,欢迎持续关注以获取更多技术支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













