Найти - Пользователи
Полная версия: Сообщения между пользователями
Начало » Django » Сообщения между пользователями
1 2
lov3catch
Доброго времени суток, господа.
Подскажите пожалуйста (в теории) как реализовать возможность передачи сообщений между пользователями.

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

Возможно у кого-то есть мысли по этому поводу? Прошу поделиться.
Заранее благодарен.
newca9h
Здравствуйте! Можно реализовать модель с полями: from_user, to_user, text. Как видно из названий - это от кого, кому и текст сообщения. Таким образом, входящие, это те, где from_user отличается от текущего, а исходящие - это там, где from_user текущий юзер. Как-то так.
FishHook
Может подойдет это
lov3catch
Тоесть моя модель будет выглядеть приблизительно так:
class message(models.Model):
    message_text = models.TextField(verbose_name="message", max_length=500)
    message_from_user = models.Model("ТЕКУЩИЙ_ЮЗЕР")
    message_to_user = models.ForeignKey("ПОЛУЧАТЕЛЬ")

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

message_from_user = models.ForeignKey(request.user)

Пишет:
NameError: name ‘request’ is not defined
truporez
это не пакет. request вам в вьюху приходит параметром.
lov3catch
Как же тогда быть, если мне в модели надо получить текущего юзера?
(я наверное не совсем понимаю как работает приложение в django)
truporez
при добавлении сообщения, во вьюхе, у вас уже будет доступ до request. а самой модели знать о request ну совсем незачем. кроме того, в ModelAdmin есть save_model.
lov3catch
хорошо, в таком случае, что я должен указать в моделе, а именно в полях:
message_from_user = models.ForeignKey("ТЕКУЩИЙ_ЮЗЕР")
message_to_user = models.ForeignKey("ПОЛУЧАТЕЛЬ")

Подскажите, пожалуйста.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB