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