Форум сайта python.su
Пытаюсь начать спроектировать БД для организации, в которой имеются служащие разных должностей..
у каждой должности имеется набор обязанностей..
для каждого конкретного служащего обязанности могут быть уточнены..
Стоит ли хранить данные о служащих в Джанговских таблицах (auth_user, auth_group..) или лучше сделать свои таблицы (пользователи, привилегии, должности)?
Офлайн
http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users
Буквально недавно столкнулся с такой же проблемой.
И все решил стандартными django средствами, без велосипедов и даже мопедов (он не мой, я просто разместил объяву).
У меня получилось что-то вроде:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
def __unicode__(self):
return _('%s\'s profile') % self.user
def user_post_save(sender, instance, **kwargs):
UserProfile.objects.get_or_create(user=instance)
models.signals.post_save.connect(user_post_save, sender=User)
user = request.user
profile = user.get_profile()
Офлайн
Да, maxwell прав, такие вещи решаются использованием профайла и/или дополнительных моделей расширяющих стандартную модель пользователя.
Офлайн
Понятно, спасибо за совет..
Офлайн
У меня мозг отключается, когда кто-то (Django) изменяет структуру моей БД..
Офлайн
Что вы имеете в виду? Джанга не меняет структуру БД в процессе работы. Только явно, на syncdb, например.
Отредактировано (Дек. 17, 2010 18:01:51)
Офлайн
да, точно.. это я что-то не привык еще.. надо просто не пользоваться syncdb, когда БД уже имеется и тем более, когда с ней (БД) могут работать другие приложения..
а auth/auth попробую написать сам.. по той же причине (с БД будут работать и другие GUI приложения)..
Офлайн
При изменениях в коде, затрагивающих рабочую БД, пишите миграционные скрипты вручную.
Офлайн