【发布时间】:2020-05-22 11:35:17
【问题描述】:
我已经使用 Django(功能非常简单的博客)构建了一个博客,我希望能够在我的博客中只向用户显示他尚未阅读的帖子。 我有 10,000 多个帖子,我想在用户每次登录他还没有看到的随机帖子时向他展示/ 我是 Django 的新手,我不确定我应该以正确的方式去做。 我有 Post 模型:
class Post(models.Model):
author = models.ForeignKey('auth.User',on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def approve_comments(self):
return self.comments.filter(approved_comment=True)
def get_absolute_url(self):
return reverse("post_detail",kwargs={'pk':self.pk})
def __str__(self):
return self.title
谢谢!
【问题讨论】:
-
显示已读帖子的
User和Post之间的关系在哪里?只需添加(m2m 关系),然后通过排除已存在关系的帖子来过滤帖子。然后你需要选择随机帖子,解释here -
@dirkgroten 我没有那种关系,因为这是我要求的——我问的是如何建立这种关系。谢谢!
标签: python django python-3.x django-rest-framework