2013-11-02 4 views
0

Я пытаюсь получить доступ к модели Flatpages в Южной миграции, как так:Джанго Юг миграции Для доступа Flatpages App

s = orm['flatpages.Site'].objects.get(id=10) 
f = orm['flatpages.FlatPage'].objects.get(id=10) 

я получаю ошибки, говоря, что модели на сайте и flatpage не доступны в приложении flatpages. Так что я делаю неправильно?

+0

вы запустите SyncDB после включения flatpages в 'installed_apps'? – karthikr

+0

да несколько раз это не помогло – Alex

+0

, и вы также добавили шаблоны URL? – karthikr

ответ

0

Вы не можете получить доступ к нему через orm объекта Юга, но вы можете разбить эту рекомендацию и импортировать модели напрямую, если вы просто ищете, чтобы заставить миграцию данных, например,

from south.db import db 
from south.v2 import DataMigration 
from django.db import models 

from django.contrib.flatpages.models import FlatPage 
from django.contrib.sites.models import Site 

class Migration(DataMigration): 

    def forwards(self, orm): 
     site = Site.objects.get_current() 
     f = FlatPage.objects.create(
      title="Page Name", 
      url="/url/", 
      content="..." 
     ) 
     f.sites.add(site) 
     f.save() 
+0

Так я и закончил это, но он не одобряется в соответствии с документами и комментариями South, которые генерируются при миграции. – Alex

Смежные вопросы