Когда вы создаете или устанавливаете новое приложение MyApp, вы должны сначала выполнить следующие команды:
./manage.py schemamigration MyApp --inital
./manage.py migrate MyApp
После этого при каждом выполнении ./manage.py syncdb
вы увидите:
Syncing...
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
Synced:
> south
> django.contrib.auth
> django.contrib.contenttypes
> django.contrib.sessions
> django.contrib.sites
> django.contrib.messages
> django.contrib.staticfiles
> django.contrib.admin
> django.contrib.admindocs
Not synced (use migrations):
- MyApp
(use ./manage.py migrate to migrate these)
Вы можете видеть, что manage.py syncdb
может различать приложения, управляемые Югом (раздел Not synced
), и приложения, не управляемые Югом (раздел Synced
).Также напоминается, что вы должны использовать ./manage.py migrate
.
Важный момент - позволить South управлять новым приложением, выполнив ./manage.py schemamigration MyApp --inital
и ./manage.py migrate MyApp
до выполнения ../manage.py syncdb
.