显示用户任务

时间:2018-03-28 12:57:44

标签: python django

model.py

class Person(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    def __unicode__(self):
        return self.user.username

class Task(models.Model):
    username = models.ForeignKey(User, on_delete=models.CASCADE)
    titre = models.CharField(max_length=100)
    date = models.DateField()
    objectif = models.CharField(max_length=1000)
    theme = models.CharField(max_length=20)

views.py

tasks = Task.objects.filter()
return render_to_response('home.html',{'tasks':tasks})

问题是它显示了表中的所有任务,但我想只显示登录用户的任务    我怎么能这样做

3 个答案:

答案 0 :(得分:1)

您只需要在request.user

上过滤用户
tasks = Task.objects.filter(username=request.user)

答案 1 :(得分:0)

Task.objects.filter(username=request.user)

答案 2 :(得分:0)

您的查看功能(您没有完全显示)具有request参数。该参数可用于检索当前请求的用户。然后,您应该使用它来过滤任务:

def the_view(request):    
    # .... 
    tasks = Task.objects.filter(username=request.user)
    return render_to_response('home.html',{'tasks':tasks})