Я создал пользовательскую модель в Django, и она отлично работала. Тем не менее, я решил создать пользовательскую модель в соответствии с моими потребностями после запуска и запуска проекта.Миграция с auth_user в Django
В результате, мне нужно будет перенести схему (В настоящее время, когда я зарегистрировать пользователь, код по-прежнему ссылается на таблицы auth_user
базы данных, где, как новая таблица пользовательского пользователь является user
.)
Я установил AUTH_USER_MODEL
в settings.py
в userapp.User
, где userapp
- мое пользовательское приложение, а User
- это модель, которая наследуется от модели AbstractUser
.
Я довольно новичок в Django и не понимаю, как этого добиться. Один очевидный способ очистки базы данных - это не то, что я ищу, чтобы удалить все мои данные.
Как мне перенести? Я слышал, что для этого используется South
, но я не знаю, как его использовать. Кроме того, я думаю, что South
не требуется в последних версиях Django.
Моя версия Django - 1.8.2
.
Не отвечая на ваш вопрос, но см [мой ответ здесь] (http://stackoverflow.com/questions/31100063/django-problems-with-user-model/31100276#31100276). Расширение «Пользователь» может быть вариантом вместо замены модели. Возможно, вы можете избавить вас от головной боли. – Mischback
Привет @Mischback, это то, что я делаю в основном - просто добавление некоторых полей в мою модель пользователя. И да, официальные документы Django предлагают реализовать «Индивидуальную связь» с моделью пользователя. Не могли бы вы рассказать мне, как это сделать (или предоставить примерную ссылку) и как я могу использовать это для сохранения новых данных + в формах. –
Никогда не делал этого сам, но я бы создал совершенно независимое приложение с моделью «Профиль». Просто напишите обычное приложение с формами, URL-адресами и т. Д. Просто привяжите его к существующей/используемой пользовательской модели, добавив поле «OneToOne» к вашей модели, ссылаясь на «settings.AUTH_USER_MODEL» и не разрешайте этому полю NULL , – Mischback