我正在为学习目的开发一个 Django 项目。我创建了一个应用 organization
并安装了它。当我运行 python manage.py makemigrations organization
时,它工作正常,显示了更改。
Migrations for 'organization':
organization/migrations/0001_initial.py:
- Create model Organization
- Create model Principle
但是当我运行 python manage.py migrate organization
时,它不会迁移并且没有显示要应用的更改。
Operations to perform:
Apply all migrations: organization
Running migrations:
No migrations to apply.
我正在使用 postgresql
并在删除所有 migrations
文件夹后尝试 drop owned by user_name;
。但还是不行。它每次都显示相同的东西。如何解决这个问题?
环境:
操作系统版本 Ubuntu 16.04
Django 版本 1.10.3
PostgreSQL 版本 9.5.7
组织/模型.py
from django.db import models
from django.contrib.postgres.fields import JSONField
class Principle(models.Model):
name = models.CharField(max_length=256)
description = models.CharField(max_length=256)
contact_no = models.CharField(max_length=256)
status = models.BooleanField()
class Organization(models.Model):
name = models.CharField(max_length=256)
liceneses = [
('pvt','Private Limited',),
('pub','Public Limited',),
('part','Partnership',),
('prop','proprietary',)
]
licenese_type = models.CharField(max_length=10, choices=liceneses)
key_person_name = models.CharField(max_length=256)
key_person_position = models.CharField(max_length=256)
key_person_contact_no = models.CharField(max_length=45)
primary_organization_contact = models.CharField(max_length=45)
organization_address = models.TextField()
additional_info = JSONField()
date_of_registration = models.CharField(max_length=45)
status = models.BooleanField()
最佳答案
在这些情况下,从迁移文件夹中删除所有迁移文件,但所有应用程序的 __init__.py
文件除外,确保已安装的应用程序中有这些应用程序
然后删除数据库表
注意:删除数据库时小心备份重要文件!
run python manage.py migrate
run python manage.py makemigrations
run python manage.py migrate
关于python - Django 不迁移应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387180/