Приложение Django не создает таблицы

#python #django #wsgi

#python #django #wsgi

Вопрос:

Итак, я создал приложение django здесь:http://fpaste.org/bkFf без использования django-admin.

Я хочу модель, которую я создал в models.py (http://fpaste.org/i1Vd /) для автоматического создания таблицы в базе данных, как указано в settings.py (http://fpaste.org/GBz0 /).

Я запускаю команду django-admin syncdb —settings=settings.py , что дает мне следующее:http://fpaste.org/tgvK / — но таблицы не создаются (потому что после создания таблиц должно быть указано created table X ….)

Поскольку я не создавал его с помощью django-admin.py у меня нет «проекта», поэтому у меня нет приложения для добавления в переменную INSTALLED_APPS из settings.py .

В конечном счете, мой вопрос — как я могу заставить свои модели инициализировать таблицы в базе данных без необходимости использования django-admin (кроме использования флага syncdb).

Заранее спасибо

Ответ №1:

У меня нет «проекта» — поэтому у меня нет приложения для добавления в INSTALLED_APPS

Это вообще не имеет смысла. Проекты не имеют ничего общего с INSTALLED_APPS. У вас есть settings.py и у вас есть models.py . Введите имя модуля, содержащего модели.введите py в INSTALLED_APPS, и все заработает.

Комментарии:

1. Я думал, что вы создаете проект (через django-admin startproject myproject) и создаете приложение внутри проекта. Это «приложение», содержащее manage. py etc — это то, что нужно было бы добавить в INSTALLED_APPS.

2. Проект содержит manage.py , settings.py и т.д. Приложение этого не делает. Приложение находится там, где models.py , views.py , admin.py и т.д. продолжайте. Просто в проектах много приложений, но приложения имеют один проект.

3. После переработки моего проекта в следующий макет: fpaste.org/XPik и, добавив FirstService в мою переменную INSTALLED_APPS, я снова запустил syncdb, по-прежнему безуспешно. FirstService теперь является модулем (или приложением), который содержит models.py не так ли?