我的模型:
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 的错误。删除它,南想删除这个类(原来这是数据库中需要的一个视图!)-->这似乎是出于某种“hacky-ish”的原因......所以我制作了迁移和:
./manage.py schemamigration certification --add-model Article
编辑:这是真正的问题。不知何故,我的编辑器弄乱了 ProgramOverview 代码。恢复代码后,我能够运行 ./manage.py schemamigration certificate --auto 生成所有需要的表!结束编辑
我需要多对多。