我如何只显示本地用户的最新帖子?

时间:2019-04-11 10:27:56

标签: python django

我打了最新的帖子,但是我希望显示的帖子与正在使用该网站的人有关

calculation = [Math.objects.latest('date')]
calc = getattr([Math.objects.latest('date')][0], 'calculation')
class Math(models.Model):
calculation = models.CharField(max_length=10000)
date = models.DateTimeField(auto_now=True)

class Meta:
    get_latest_by = 'date'

切换计算机并再次运行服务器时,最新的帖子仍然存在。发生这种情况是因为python manage.py runserver无法通过IP识别吗?

我最大的问题是,如果部署后,将显示任何人发布的最新帖子。

对于上下文,我将使用此站点进行计算,这就是为什么需要个性化它们的原因。

1 个答案:

答案 0 :(得分:1)

django的request属性具有user属性,可以使用request.user进行调用。因此,如果您的Math模型看起来像

class Math(models.Model):
  calculation = models.DecimalField()
  user = models.ForeignKey(User, related_name='calculations')
  date = models.DateTimeField()

User是指django的auth.User模型。现在,您可以通过两种方式解决此问题。第一个是先按用户过滤,然后获取最新的

calculation = Math.objects.filter(user=request.user).latest('date')[0].calculation

另一个人将直接从request.user调用相关名称,例如

calculations = request.user.calculations.latest('date')[0].calculation