2
class Article(models.Model):
user = models.ForeignKey(User)
categories = models.ManyToManyField(AuditGroup)
topic = models.ManyToManyField(Topic)
title = models.CharField(max_length=255)
short_desc = models.TextField(blank=True)
创建的迁移:
两个多到许多关系class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'Article'
db.create_table('certification_article', (
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
('title', self.gf('django.db.models.fields.CharField')(max_length=255)),
('short_desc', self.gf('django.db.models.fields.TextField')(blank=True)),
))
无正在制作!我错过了什么?
注意:我的模型中有一个奇怪的事情(接管了项目):在我的model.py中有一个类ProgramOverview。但是这个类中的所有代码都是小写的!实际上,在schemamigration上运行--auto会产生有关ProgramOverview的错误。删除它,南想要删除这个类(事实证明这是一个需要在数据库中的视图!) - >这似乎已经放在那里的一些“哈克伊什”原因...所以我产生了迁移搭配:
./manage.py schemamigration certification --add-model Article
编辑:这是真正的问题。不知何故,我的编辑器弄乱了ProgramOverview代码。恢复代码后,我可以运行./manage.py schemamigration认证--auto,它生成了所有需要的表格! END编辑
虽然我需要多对多。
我明白了,我可以进一步了解:'certification.article':{ 'Meta':{'object_name':'Article'}, 'categories':('django.db.models.fields .related.ManyToManyField',[],{'to':“orm ['certification.AuditGroup']”,'symmetrical':'False'}), 但是当我执行代码来保存一个新的对象关系,我得到 关系“certification_article_categories”不存在 这确实很奇怪,不是吗?那是因为--add-model标志?为什么迁移不会创建关系表? – faboolous 2013-04-29 14:23:48
没关系。我的具体问题的关键在于我的注意:在提交问题。这不是因为一个怪异的理由,但是因为我一定对我的编辑做错了事。我拿起原始的ProgramOverview代码,将其粘贴回我的编辑models.py中,并执行'./manage.py schemamigration my_app --auto' - 这次工作正常,表格创建正确。 – faboolous 2013-04-29 15:43:16