@doph

Syndb/south не видят мои модели после рефакторинга?

Решил поменять models.py на модуль, потому как моделей стало много и хранить все в одном файле стало не очень удобно.



Получилась директория models и в ней файлы с классами:



D:\~Sasha\eclipse_workspace\zavalen\picviewer\models&gt;dir *.py<br/>
Directory of D:\~Sasha\eclipse_workspace\zavalen\picviewer\models<br/>
<br/>
15.04.2011 16:38 1 125 cartItem.py<br/>
15.04.2011 16:43 1 283 Collection.py<br/>
15.04.2011 16:40 419 ImageSizeRatio.py<br/>
15.04.2011 16:43 876 Menu.py<br/>
15.04.2011 16:43 1 667 Order.py<br/>
15.04.2011 14:07 1 457 OrderForm.py<br/>
15.04.2011 16:43 490 OrderStatusHistory.py<br/>
15.04.2011 16:43 683 paperType.py<br/>
15.04.2011 16:43 3 202 Picture.py<br/>
15.04.2011 16:43 1 520 printSize.py<br/>
15.04.2011 16:43 687 PurchaseItem.py<br/>
15.04.2011 16:43 1 239 Tools.py<br/>
15.04.2011 16:11 0 __init__.py




В каждый класс запихал class Meta, чтобы он узнавался как принажлежащий к моему приложению picviewer:



class cartItem(models.Model):<br/>
 picture = models.ForeignKey('Picture', null=False)<br/>
 paperType = models.ForeignKey('paperType', null=False)<br/>
 printSize = models.ForeignKey('printSize', null=False)<br/>
 quantity = models.IntegerField(default=1, validators=[validators.MinValueValidator(1)])<br/>
 price = models.DecimalField(decimal_places=2,max_digits=8)<br/>
 dateCreated = models.DateTimeField(null=False)<br/>
 sessionKey = models.ForeignKey(Session, to_field=&quot;session_key&quot;, null=False)<br/>
 user = models.ForeignKey(User,null=True)<br/>
<br/>
class Meta:<br/>
 app_label = 'picviewer'




После того, как я это все сделал, я запустил стандартную миграцию south как это делал обычно:



manage_noDebug.py schemamigration picviewer --auto<br/>
manage_noDebug.py schemamigration migrate picviewer




Она убила старые таблички, но не создала новые.



Теперь ни миграция (выкрутасы с --initial и прочим), ни syncdb, ни очистка базы через flush не помогают — таблички не создаются. manage.py sql picviewer показывает пустоту.



Куда копать? :(
  • Вопрос задан
  • 2581 просмотр
Пригласить эксперта
Ответы на вопрос 2
@doph Автор вопроса
Нужно было сделать импорт всех классов в __init__.py

Осталось понять, почему джанга ищет таблицы models_menu, а не picviewer_menu, например.
Ответ написан
variable
@variable
если модели лежат в директории models, то в settings.py в installed_apps укажите их как models.MODEL_NAME, и точно также для south
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы