数据库建
表时, 没有成功
创建表 No migrations to apply报错原因和
解决方法
一、在cmd中执行执行python manage.py makemigrations可以顺利
创建0001_initial.py文件,但继续执行python manage.py
migrate时出现No migrations to apply报错。
二、错误原因是因为在之间就已经执行过python manage.py
migrate,在
数据库表django_migrations中有之前的信息导致
无法正常建
表。
解决方法
首先要安装好pip install django-extensions,然后cd到项目目录,执行:
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
python manage.py clear_cache
然后删除数据表下django_migrations这个表里包含无法生成的那个表的名称
最后运行:
python manage
写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法:
首先删除每个app中的migrations中的除了init.py的文件,在数据库中清空所有的表,然后执行migrate,这时会自动生成系统默认的那些表,然后执行makemigrations,再执行migrate
如果只是众多应用中的一个出了问题的话,删除与之相关的表,然后进入django_migrations表中,将相应的app那项记录删除,然后再执行
makemigrations appname
migrate
django_migrations表的作用:
在执行make
为什么生成不了新的
表格呢?
因为系统自动生成的有一张
表django_migrations专门用来记录你的python manage.py makeigrations操作的,与项目根目录下migrations文件夹中的文件是一一对应的。
即如下
表:
要在 Django 中连接 PostgreSQL 数据库,需要遵循以下步骤:
1. 安装 psycopg2 包,该包是一个 PostgreSQL 的 Python 数据库驱动程序。可以使用 pip 命令进行安装:
pip install psycopg2
2. 在 Django 项目中的 settings.py 文件中设置数据库连接信息:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'your_database_name',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '',
3. 运行数据库迁移命令,创建数据库表:
python manage.py makemigrations
python manage.py migrate
这些步骤完成后,就可以在 Django 项目中使用 PostgreSQL 数据库了。