Django 可重用应用程序和迁移
Django Reusable Apps and migrations
我正在尝试创建一个 'Reusable App'。我已经编写了一些数据库模型,然后 copy/pasted 将文件夹(应该是我的可重用应用程序)添加到我想在其中使用它的项目中。然后我将文件夹的名称添加到 INSTALLED_APPS
在我的设置中。
然后我用South去运行:
python manage.py schemamigration test --initial --settings=settings_local
和:
python manage.py migrate test --settings=settings_local
当我尝试在管理员中访问此应用程序的模型时,我得到了 relation does not exist
。我进入我的 PostgreSQL 并意识到这些表不是用那些 South 命令创建的。
知道我做错了什么吗?
更新:
我正在使用 Django 1.5.10
和 South 0.7.5
运行宁架构迁移
时创建的迁移
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'Category'
db.create_table(u'test_category', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=200)),
))
db.send_create_signal(u'test', ['Category'])
def backwards(self, orm):
# Deleting model 'Category'
db.delete_table(u'test_category')
models = {
u'test.category': {
'Meta': {'object_name': 'Category'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'})
}
}
complete_apps = ['test']
我已经生成迁移并在我的项目中安装了应用程序,MySQL Db 没有问题。
我并没有真正改变任何东西,但我确实修复了您表单中的一个导入错误。
您的表单继承了您尝试从 django.forms
导入的 BaseInlineFormSet
,但它应该从
导入
from django.forms.models import BaseInlineFormSet
我已经压缩了应用程序,因为它在我的项目中 运行;
https://www.dropbox.com/s/tqyi9su942rsp1u/ubiwhere_games.zip?dl=0
我正在尝试创建一个 'Reusable App'。我已经编写了一些数据库模型,然后 copy/pasted 将文件夹(应该是我的可重用应用程序)添加到我想在其中使用它的项目中。然后我将文件夹的名称添加到 INSTALLED_APPS
在我的设置中。
然后我用South去运行:
python manage.py schemamigration test --initial --settings=settings_local
和:
python manage.py migrate test --settings=settings_local
当我尝试在管理员中访问此应用程序的模型时,我得到了 relation does not exist
。我进入我的 PostgreSQL 并意识到这些表不是用那些 South 命令创建的。
知道我做错了什么吗?
更新:
我正在使用 Django 1.5.10
和 South 0.7.5
运行宁架构迁移
时创建的迁移class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'Category'
db.create_table(u'test_category', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=200)),
))
db.send_create_signal(u'test', ['Category'])
def backwards(self, orm):
# Deleting model 'Category'
db.delete_table(u'test_category')
models = {
u'test.category': {
'Meta': {'object_name': 'Category'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'})
}
}
complete_apps = ['test']
我已经生成迁移并在我的项目中安装了应用程序,MySQL Db 没有问题。
我并没有真正改变任何东西,但我确实修复了您表单中的一个导入错误。
您的表单继承了您尝试从 django.forms
导入的 BaseInlineFormSet
,但它应该从
from django.forms.models import BaseInlineFormSet
我已经压缩了应用程序,因为它在我的项目中 运行; https://www.dropbox.com/s/tqyi9su942rsp1u/ubiwhere_games.zip?dl=0