Django执行迁移指令后mysql中没有生成models中模型对应的数据表

Django执行迁移指令后mysql中没有生成models中模型对应的数据表

python版本 3.7
Django版本 2.2.6

首先,编写 models.py 文件,我定义了三个 class
执行迁移指令:

python manage.py makemigrations

python manage.py migrate

运行没有报错
在mysql中生成了一堆表,唯独没有 models 中的三个 class 对应的表

解决办法:

一、setting.py 文件中添加创建的app名称

二、如果第一次执行迁移命令后,因为种种原因需要删除数据库或者表,切记,不要删除 init 文件夹

如图,是我的文件目录

如果因为种种原因需要删除数据库或者表
图中的 migrations 文件夹不要删除,因为一旦删除这个文件夹,重新迁移时不会生成这个文件夹
init.py 文件也不用删除

只需删除红线线框框起来的文件即可

删除红色线框中的文件,重新执行两条迁移指令即可。

如果把 migrations 文件夹删除了,可以手动创建,因为这个文件夹中的 init.py 是空文件
下图中的两个 init.py 无论是执行迁移命令之前,还是执行迁移之后,都是空文件
只有红色线框中的文件会记录迁移过程中的记录

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在DjangoMySQL读取数据需要进行以下步骤: 1. 安装MySQL驱动程序:在Django项目,需要安装MySQL驱动程序以便与MySQL数据库进行交互。可以使用pip install命令安装MySQL驱动程序,如下所示: ``` pip install mysqlclient ``` 2. 配置数据库连接:在Django项目的settings.py文件,需要配置MySQL数据库的连接参数。例如: ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '3306', } } ``` 3. 创建模型类:在Django项目,需要创建模型类以便与MySQL数据库进行交互。例如: ``` from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) publish_date = models.DateField() ``` 4. 执行查询操作:在Django项目,可以使用ORM(对象关系映射)进行查询操作。例如: ``` from myapp.models import Book # 查询所有图书 books = Book.objects.all() # 查询指定条件的图书 books = Book.objects.filter(author='John') # 查询单个图书 book = Book.objects.get(id=1) ``` 以上就是从MySQL读取数据的基本步骤,具体实现可以根据项目需求进行调整。 ### 回答2: Django是一个基于Python的开源Web开发框架,它提供了方便的模型层、视图层和模板层,以帮助开发人员构建高效且易于维护的Web应用程序。在Django,可以使用内置的ORM(对象关系映射)来管理与数据库的交互。 要从MySQL数据库读取数据,首先需要在Django项目的设置配置数据库连接。在settings.py文件,可以设置数据库的类型(默认为SQLite),也可以指定MySQL数据库的主机、端口、用户名、密码以及要使用的数据库名称。 配置完成后,需要在Django应用程序的模型文件定义与数据库对应模型类。模型类继承自Djangomodels.Model类,并定义各个字段以及字段类型。例如,可以在模型定义一个名为Article的类,用于示文章,包含标题、内容和发布日期等字段。 在定义好模型类后,可以使用Django迁移工具来创建数据库。运行migrations命令,Django会根据模型类的定义创建相应的数据库。可以使用makemigrations命令生成迁移文件,然后运行migrate命令来执行迁移操作。 一旦数据库创建完成,就可以通过模型类来查询数据库的数据了。可以使用Django提供的ORM方法,例如all()、filter()、get()等来从数据库获取数据。 例如,可以使用Article.objects.all()方法来获取所有文章的数据,返回的是一个QuerySet对象,可以遍历获取每一篇文章的具体数据。 此外,还可以通过模型类的字段名称来进行筛选,例如Article.objects.filter(title="Python入门"),可筛选出标题为“Python入门”的文章数据。 获取到数据后,可以在视图函数将数据传递给模板,从而在前端页面展示出来。 总结起来,Django通过配置数据库连接、定义模型类、运行迁移操作以及使用ORM方法,可以方便地从MySQL数据库读取数据,实现数据的查询与展示。 ### 回答3: 在Django,要从MySQL数据库读取数据,首先需要确保已经在项目的配置文件正确配置了数据库连接信息。 1. 配置数据库连接 在项目的settings.py文件,找到DATABASES设置项,将它配置为MySQL数据库的连接信息。例如: ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'your_database_name', 'USER': 'your_username', 'PASSWORD': 'your_password', 'HOST': 'your_database_host', 'PORT': 'your_database_port', } } ``` 请确保将`your_database_name`、`your_username`、`your_password`、`your_database_host`和`your_database_port`替换为实际的MySQL数据库信息。 2. 创建数据模型Django,数据模型是通过定义继承自`django.db.models.Model`的类来实现的。请在您的应用程序(例如,`your_app`)models.py文件定义您的数据模型。以下是一个示例: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=100) publication_date = models.DateField() def __str__(self): return self.title ``` 以上定义了一个名为Book的数据模型,包含title(书名)、author(作者)和publication_date(出版日期)三个字段。 3. 读取数据 要从MySQL数据库读取数据,可以使用Django的查询API。以下是一些常用的示例: ```python # 导入您的数据模型 from your_app.models import Book # 获取所有的书籍 books = Book.objects.all() # 获取特定条件的书籍 recent_books = Book.objects.filter(publication_date__year__gte=2021) # 获取第一本书 first_book = Book.objects.first() # 获取书籍数量 book_count = Book.objects.count() ``` 您可以根据自己的需求使用各种查询方法来读取MySQL数据库的数据。 以上是通过DjangoMySQL数据库读取数据的基本步骤和示例代码。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值