Можно ли иметь 2 модели профиля, используя django AUTH_PROFILE_MODULE? - PullRequest
0 голосов
/ 08 января 2011

Возможно иметь 2 модели для хранения дополнительных пользовательских данных. Я спрашиваю, потому что в настоящее время я пишу приложение, которое я хочу подключить к нескольким существующим проектам. Однако все эти проекты уже используют модель профиля, и мое новое приложение должно расширять пользовательскую модель через модель профиля. Если нет, то есть ли способ расширить используемую в настоящее время модель профиля, установленную в AUTH_PROFILE_MODULE?

1 Ответ

1 голос
/ 08 января 2011

Разве вы не должны просто создать поле в этой другой модели, которое имеет внешний ключ к профилю?

Итак, если у вас уже есть модель UserProfile.

Class UserProfile(models.Model):
  user = models.OneToOneField(User)
  ...

ВыМожно расширить модель UserProfile, добавив внешний ключ в другую модель, связавшись с ней.

Class OtherModel(models.Model):
  profile = models.ForeignKey(UserProfile, related_name="other_model")
  field1 = models.CharField(max_length=15)
  ...

И поэтому вы можете получить доступ к этой другой модели из объекта User:

user.get_profile().other_model.field1

НТН

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