Django не создает таблицу базы данных - PullRequest
4 голосов
/ 02 июня 2011

Эй, я уже создал базу данных.Теперь я обновил UserProfile:

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique = True, related_name = 'user')
    follows = models.ManyToManyField("self", related_name = 'follows') <-- NEW LINE

, поэтому python manage.py sqlall myapp возвращает меня:

[...]
CREATE TABLE "myapp_userprofile_follows" (
    "id" integer NOT NULL PRIMARY KEY,
    "from_userprofile_id" integer NOT NULL,
    "to_userprofile_id" integer NOT NULL,
    UNIQUE ("from_userprofile_id", "to_userprofile_id")
)
[...]

Когда я запускаю python manage.py syncdb:

Creating tables ...
Installing custom SQL ...
Installing indexes ...
No fixtures found.

таблица не создается, когда я пытаюсь вставить данные в.Зачем?(Я тестирую локально, с sqlite3)

Ответы [ 2 ]

6 голосов
/ 02 июня 2011

manage.py syncdb не будет изменять существующие таблицы для добавления или удаления полей. Вам нужно будет либо вручную изменить базу данных, либо использовать инструмент типа Юг для создания автоматических миграций базы данных (что я настоятельно рекомендую)

5 голосов
/ 02 июня 2011

добавили ли вы ваше приложение в INSTALLED_APPS в файле settings.pys:

settings.py

INSTALLED_APPS = (
    ... ,
    'my_app',
)

https://docs.djangoproject.com/en/dev/ref/settings/?from=olddocs#installed-apps

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...