Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2013 10:42:41

lov3catch
Зарегистрирован: 2012-07-15
Сообщения: 43
Репутация: +  0  -
Профиль  

Сообщения между пользователями

Доброго времени суток, господа.
Подскажите пожалуйста (в теории) как реализовать возможность передачи сообщений между пользователями.

Я так понимаю что в модели пользователя надо добавить два поля:
-Входящие сообщения
-Исходящие сообщения

Возможно у кого-то есть мысли по этому поводу? Прошу поделиться.
Заранее благодарен.



Офлайн

#2 Июнь 4, 2013 11:38:19

newca9h
Зарегистрирован: 2012-05-28
Сообщения: 46
Репутация: +  3  -
Профиль   Отправить e-mail  

Сообщения между пользователями

Здравствуйте! Можно реализовать модель с полями: from_user, to_user, text. Как видно из названий - это от кого, кому и текст сообщения. Таким образом, входящие, это те, где from_user отличается от текущего, а исходящие - это там, где from_user текущий юзер. Как-то так.

Офлайн

#3 Июнь 4, 2013 11:42:41

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Сообщения между пользователями

Может подойдет это



Офлайн

#4 Июнь 4, 2013 12:34:08

lov3catch
Зарегистрирован: 2012-07-15
Сообщения: 43
Репутация: +  0  -
Профиль  

Сообщения между пользователями

Тоесть моя модель будет выглядеть приблизительно так:

class message(models.Model):
    message_text = models.TextField(verbose_name="message", max_length=500)
    message_from_user = models.Model("ТЕКУЩИЙ_ЮЗЕР")
    message_to_user = models.ForeignKey("ПОЛУЧАТЕЛЬ")

Тогда возникает вопрос, как получить текущего юзера сессии?



Офлайн

#5 Июнь 4, 2013 12:46:44

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Сообщения между пользователями

lov3catch
Тогда возникает вопрос, как получить текущего юзера сессии?
request.user



Офлайн

#6 Июнь 4, 2013 14:57:15

lov3catch
Зарегистрирован: 2012-07-15
Сообщения: 43
Репутация: +  0  -
Профиль  

Сообщения между пользователями

а в каком пакете находится request?

message_from_user = models.ForeignKey(request.user)

Пишет:
NameError: name ‘request’ is not defined



Офлайн

#7 Июнь 4, 2013 15:25:57

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

Сообщения между пользователями

это не пакет. request вам в вьюху приходит параметром.



Офлайн

#8 Июнь 4, 2013 15:31:04

lov3catch
Зарегистрирован: 2012-07-15
Сообщения: 43
Репутация: +  0  -
Профиль  

Сообщения между пользователями

Как же тогда быть, если мне в модели надо получить текущего юзера?
(я наверное не совсем понимаю как работает приложение в django)



Отредактировано lov3catch (Июнь 4, 2013 15:34:40)

Офлайн

#9 Июнь 4, 2013 15:40:15

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

Сообщения между пользователями

при добавлении сообщения, во вьюхе, у вас уже будет доступ до request. а самой модели знать о request ну совсем незачем. кроме того, в ModelAdmin есть save_model.



Офлайн

#10 Июнь 4, 2013 15:47:16

lov3catch
Зарегистрирован: 2012-07-15
Сообщения: 43
Репутация: +  0  -
Профиль  

Сообщения между пользователями

хорошо, в таком случае, что я должен указать в моделе, а именно в полях:

message_from_user = models.ForeignKey("ТЕКУЩИЙ_ЮЗЕР")
message_to_user = models.ForeignKey("ПОЛУЧАТЕЛЬ")

Подскажите, пожалуйста.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version