Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 16, 2010 09:08:56

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

последняя добавленная запись

Пытаюсь начать спроектировать БД для организации, в которой имеются служащие разных должностей..
у каждой должности имеется набор обязанностей..
для каждого конкретного служащего обязанности могут быть уточнены..
Стоит ли хранить данные о служащих в Джанговских таблицах (auth_user, auth_group..) или лучше сделать свои таблицы (пользователи, привилегии, должности)?



Офлайн

#2 Дек. 16, 2010 09:35:24

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

последняя добавленная запись

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()



Офлайн

#3 Дек. 16, 2010 12:17:47

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

последняя добавленная запись

Да, maxwell прав, такие вещи решаются использованием профайла и/или дополнительных моделей расширяющих стандартную модель пользователя.

Офлайн

#4 Дек. 16, 2010 15:32:57

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

последняя добавленная запись

Понятно, спасибо за совет..



Офлайн

#5 Дек. 17, 2010 11:14:17

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

последняя добавленная запись

У меня мозг отключается, когда кто-то (Django) изменяет структуру моей БД..



Офлайн

#6 Дек. 17, 2010 18:01:40

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

последняя добавленная запись

Что вы имеете в виду? Джанга не меняет структуру БД в процессе работы. Только явно, на syncdb, например.

Отредактировано (Дек. 17, 2010 18:01:51)

Офлайн

#7 Дек. 17, 2010 19:49:10

del3d
От:
Зарегистрирован: 2010-03-12
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

последняя добавленная запись

да, точно.. это я что-то не привык еще.. надо просто не пользоваться syncdb, когда БД уже имеется и тем более, когда с ней (БД) могут работать другие приложения..
а auth/auth попробую написать сам.. по той же причине (с БД будут работать и другие GUI приложения)..



Офлайн

#8 Дек. 17, 2010 23:57:52

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

последняя добавленная запись

При изменениях в коде, затрагивающих рабочую БД, пишите миграционные скрипты вручную.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version