• Как спроектировать таблицы БД для реализации уведомлений как на toster.ru или stackoverflow?

    @patient
    Как вариант, создание таблицы, в которую будет заноситься id пользователя, id поста, количество комментариев и дата последнего доступа к посту.

    Имея такую структуру всегда можно получить список просмотренного, выбрать посты по id из этого списка и сравнить, в каких из них изменилось количество комментариев. Итого два запроса. Также при выводе постов можно получать список «просмотренного», сравнивать количество и помечать посты с новыми комментариями.

    Можно ускорить используя вместо базы какое-нибудь key-value хранилище.
    Ответ написан
    4 комментария
  • Как на Django реализовать график работы?

    @patient
    В TextField храню сериализованный в JSON объект типа:

    [{"start":"09:00","end":"14:00","lunch_start":"","lunch_end":""},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"14:00","lunch_start":"","lunch_end":""},
    {"start":"","end":"","lunch_start":"","lunch_end":""}]


    Темплейттегом рендерится в форму:

    fd32890a341441088bafb4bf1030b5fa.png

    На стороне клиента яваскриптом всё отслеживание и высчитывается. Решения проще не нашёл.
    Ответ написан
    1 комментарий