Подходим два профиля в рамках Django - PullRequest
1 голос
/ 26 марта 2019

Я сделал веб-приложение, которое состоит из двух категорий (скажем, A и B) пользователей, и есть общая доска объявлений, на которой они могут что-то публиковать. Теперь, если человеку (Джону) из категории А предложено, чтобы его лучшим соответствием был человек (фитиль) из категории В с помощью карты Джанго, как я могу сделать что-то, что уведомит их обоих?

Предположим, Джону нравится то, что предлагает ВИК, и есть кнопка с книгой, которую он видит на карточке Вика (мини-профиль). Теперь я хочу сообщить Вику, что ДЖОН заинтересован в вас, когда ДЖОН нажимает на кнопку «Книга».

пример данных

Производитель

M_ID   From  To  M_Type    T_Type  T_Length T_Weight #Trucks 
JOHN   A     B   Boxes     Open    12-Tyre  22       3       
BLAKE  C     D   Cylinders Trailer HIGH     23       2       
GREG   G     H   Scrap     Open    14-Tyre  25       5    

Transporter

T_ID  From To T_Type  T_Length T_Weight #Trucks  Price
WICK  A    B  Open    12-Tyre  22       5        1500
PATEL G    H  Open    14-Tyre  25       10       1200   
NICK  A    B  Open    12-Tyre  22       7        1900

Алгоритм возвращает данные в этом формате

Manufacturer   Best Match   Second Best
JOHN           WICK         NICK
GREG           PATEL         - 

Я могу показать ДЖОНУ, что его лучшие матчи - это УИК и НИК (и когда он нажмет на них, их мини-профиль будет показан ему с параметром КНИГА, но что мне делать дальше, чтобы что-то произошло (предупреждение ВИК / НИК) когда он нажимает на кнопку книги ??

Ответы [ 2 ]

1 голос
/ 26 марта 2019

Вы не должны разговаривать в таблицах SQL, когда на самом деле работаете на уровне абстракции Django ORM.

Все, что вам нужно, это поле ManyToMany.Вы добавите это поле m2m и покажете новые, для которых было сделано предложение для пользователя (возможно, объедините производителя и перевозчика в одну модель (таблицу), чтобы не дублировать эту функциональность).

Вместо использования auto m2m, я предлагаюВы используете через модель , чтобы добавить дополнительное поле, например, Boolean has_been_seen.Или вы можете сделать предположение, что экземпляр был замечен, если пользовательский last_activity больше, чем datetime, в котором был создан экземпляр.

1 голос
/ 26 марта 2019

Это довольно широкий вопрос, но здесь он идет.

Клик ДЖОНА, и обработка запроса либо сразу же что-то сделает (например, отправка электронного письма в NICK), либо что-то сохранитв базе данных, которая будет доведена до сведения NICK при следующем взаимодействии NICK с приложением.Возможно, таблица уведомлений с внешними ключами для JOHN (notifier), NICK (notifiee --yuk) и связанных данных.

Что-то вроде этого последнего, как я увижу в верхней части страницы stackoverflow, когда выпроголосовать за этот пост или добавить комментарий.Если я не вернусь к stackoverflow в течение месяца, я увижу его тогда, или вы можете указать дату истечения срока действия, которую вы храните, чтобы по истечении этого периода уведомление считалось устаревшим и удалялосьмуха без Ника когда-либо узнает об этом.

Я ожидаю, что вы можете найти что-то, что кто-то другой написал для реализации большей части этого, где-то там.Вероятно, это форма промежуточного программного обеспечения, если оно проверяется буквально при каждом взаимодействии, а не только при входе в систему.Извините, я не могу предложить никаких указателей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...