Django: Каков наилучший способ создавать разные «виды» пользователей и использовать их взаимозаменяемо? - PullRequest
0 голосов
/ 27 сентября 2011

Я создаю сайт, похожий на eBay. У меня есть два вида пользователей: продавцы и покупатели.

Я прочитал это https://docs.djangoproject.com/en/1.3/topics/auth/#storing-additional-information-about-users и создал модель UserProfile (абстрактную) и две другие модели: Продавец и Покупатель.

Теперь у меня есть другая модель: Комментарий. Комментарий может быть написан Продавцами и Покупателями. Как я должен связать их? Я думал об этих вариантах, но у меня нет опыта работы с Django, и, возможно, у вас есть идея получше:

class Comment(models.Model):
   created_by =  models.ForeignKey(UserProfile)

или

class Comment(models.Model):
   created_by = models.ForeignKey(auth.models.User)

EDIT:

Я хочу иметь разные классы (продавец и покупатель), потому что они могут иметь разные данные.

1 Ответ

1 голос
/ 27 сентября 2011

Группы. Это уже часть аутентификации Django.

https://docs.djangoproject.com/en/1.3/topics/auth/#groups

Как [я] должен связать их?

Относитесь к пользователю. Вы получаете профиль от пользователя. Вы получаете группы от пользователя.

Относитесь к первичной, центральной, важной сущности. Думайте о Профиле как о дополнении.

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