Django: Syncdb неправильно предупреждает, что поле «многие ко многим» устарело - PullRequest
12 голосов
/ 01 апреля 2011

У меня есть приложение django, в котором одно приложение имеет отношение «многие ко многим» с UserProfile.Но всякий раз, когда я делаю syncdb, он предупреждает меня, что app_users является устаревшим полем

The following content types are stale and need to be deleted:
     Apps | app_users

#settings.py
AUTH_PROFILE_MODULE = 'kprofile.UserProfile'

#Apps/models.py
class app(models.Model):
    ....
    users = models.ManyToManyField(UserProfile)

Теперь я не использую внутренний вид UserProfile, за исключением некоторых целей аутентификации внутри правил.А UserProfile может быть присоединен к приложению только из интерфейса администратора.Как я могу остановить django syncdb от выдачи мне этого ложного / неправильного предупреждения?

1 Ответ

20 голосов
/ 01 апреля 2011

Обратите внимание на сообщение.Оно не утверждает, что ваше поле устарело - оно говорит о записи в типах контента модели.

В оболочке сделайте следующее:

from django.contrib.contenttypes.models import ContentType
ct = ContentType.objects.get(app_label='Apps', model='app_users')
ct.delete()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...