class Admin(models.Model):
    # Обязательное поле
    user = models.OneToOneField(User)
    # Поля специально для пользователей-администраторов
    accepted_eula = models.BooleanField()
    favorite_animal = models.CharField(max_length=20, default="Dragons.")
Подробнее тут:
https://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users
Название класса лучше всего делать именно Admin, а не Admins, в
единственном числе. Это что-то вроде стандарта, и когда Django
автоматически склоняет названия моделей (хотя это можно и настроить)
для использования в административном интерфейсе, то предполагает, что
названия моделей записываются именно в единственном числе.
2011/11/18 Дмитрий <frantic.rocker@gmail.com>:
> Здарова мужики! Подскажите, как правильнее создать модели юзеров.
>
> Есть три роли - админ, менеджер, клиент. На каждую роль свои поля для
> заполнения.
> Я в этом деле дилетант поэтому в голове вырисовывается следующее:
>
> class Admins(models.Model):
> first_name..
> last_name..
> login..
> pass..
> ...тут одни поля
>
> class Managers(models.Model):
> first_name..
> last_name..
> login..
> pass..
> ...тут другие
>
> class Clients(models.Model):
> first_name..
> last_name..
> login..
> pass..
> ...ну вы поняли
>
> и все. тут приходит ступор, а как же потом авторизовываться?
> думаю, прифигачить <select> с выбором роли и там уже механизм более-менее
> понятен (хотя не факт).
>
> Но затем появляется еще одна мысль, а нафига тогда джанговская авторизация?
> неужели ее нельзя использовать в данном случае?
>
> смутно понимаю что пишу но в голове что-то вроде:
>
> class Admins(User):
> тут одни поля
>
> class Managers(User):
> тут другие итд..
>
> В общем не судите строго за вероятно неважно поставленную задачу, только с
> работы, в голове каша.
>
>
>
 
Комментариев нет:
Отправить комментарий