Django: При использовании пользовательской системы AUTH, почему всегда нужна модель User? - PullRequest
0 голосов
/ 19 февраля 2010

Я занимаюсь разработкой SAAS и с трудом собираю мысли, почему мне нужно использовать «пользователя» для чего-то другого, кроме меня самого.Я не знаю почему, но меня раздражает мысль, что я, как разработчик / администратор всего программного обеспечения, с полным доступом администратора Django (например, Eye of Sauron), имею такой же тип объекта User, как и «Account»"UserProfile" владельца имеет.Пожалуйста, помогите мне понять, почему это необходимо.

Пример:

class Account(models.Model): # represents copporate customer
    admin = models.ForeignKey(User)
    # other fields ...

class UserProfile(models.Model):
    user = models.ForeignKey(User)
    account = models.ForeignKey(Account)

Такое чувство, что я смешиваю встроенную функциональность Admin с функциональностью пользователей моих владельцев аккаунта.Это только для повторного использования таких элементов, как request.user и т. Д.?

1 Ответ

1 голос
/ 19 февраля 2010

Что ж, повторное использование кода и функциональности может быть приятным побочным эффектом, но, по сути, я не думаю, что это сломано.

Пользователь представляет кого-то, кто использует ваш сайт. На базовом уровне не имеет значения, кто этот человек или какие функции или функциональные возможности им нужны - просто то, что они делают запросы и могут быть каким-то образом идентифицированы.

Дальнейшие функциональные возможности могут быть добавлены на разных уровнях, либо с помощью встроенных компонентов, таких как Группы или Разрешения, либо с помощью чего-то другого, что вы строите поверх себя, как вы делаете в своем примере.

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