Выделение новых сообщений в django/react
У меня есть модель Post в django, которая имеет Channel в качестве внешнего ключа. Я хочу сделать так: всякий раз, когда в модели Post появляется новый пост, этот канал должен быть выделен, и это должно зависеть от пользователя. Я думаю, что каждый раз, когда создается новый пост, будет один флаг is_highlighted
, который будет установлен в true. Правильно ли это? Есть ли другой лучший способ? TIA
class Post(models.Model):
user = models.ForeignKey(
User,
on_delete=models.DO_NOTHING,
blank=True,
null=True,
related_name="post_user_id")
channel = models.ForeignKey(
Channel,
on_delete=models.DO_NOTHING,
blank=False,
null=False,
related_name="post_channel_id")
и модель канала является
class Channel(models.Model):
channel_name = models.CharField(
max_length=250,
help_text="Channel channel_name")
Я думаю, что самым простым решением в долгосрочной перспективе будет хранение даты создания записи, что можно сделать, добавив строку
creation_date = models.DateField("creation_date", auto_now_add=True)
в модель Post, к которой вы хотите применить это. Если вы используете REST api для связи между вашим Django backend и React frontend, вам нужно будет сериализовать это, чтобы дата была добавлена в json, который использует приложение React, затем в коде вашего frontend вы можете иметь простой сценарий, который выделяет пост, когда разница между текущей датой и датой_создания больше определенного периода времени. Это должно решить вашу проблему и автоматизировать процесс изменения подсветки.