【问题标题】:Highlight new posts in django/react突出显示 django/react 中的新帖子
【发布时间】:2021-11-29 21:54:55
【问题描述】:

我在 django 中有 Post 模型,它有 Channel 作为外键。我想要做的是,每当帖子模型中有新帖子时,该频道应该突出显示并且应该是用户特定的。我在想的是,每当创建新帖子时,都会有一个标志 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")

【问题讨论】:

  • 也许你可以在前面做,如果你有一个帖子数组,将突出显示的类名添加到数组的第一项或最后一项(取决于显示的顺序)
  • 只需存储它们的创建日期,并在前端突出显示它们,基于它们是否是新的(例如创建时间少于 1 小时)

标签: python reactjs django django-queryset


【解决方案1】:

我认为从长远来看最简单的解决方案是存储记录的创建日期,这可以通过添加行来完成

creation_date = models.DateField("creation_date", auto_now_add=True) 到您希望应用到的 Post 模型中。如果您使用 REST api 在 Django 后端和 React 前端之间进行通信,则需要对其进行序列化,以便将日期添加到 React 应用程序使用的 json 中,然后在您的前端代码中,您可以有一个简单的当当前日期和 creation_date 之间的差异大于某个时间段时突出显示帖子的脚本。这应该可以解决您的问题并自动执行更改突出显示的过程。

【讨论】:

    猜你喜欢
    • 2019-02-06
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 2022-10-06
    • 1970-01-01
    相关资源
    最近更新 更多