我开始学习django,作为我的第一个项目,我正在尝试创建目录。
我创建了3个表
学生
目录
这两个
这就是我的models.py的样子:
class Catalog(models.Model):
Class = models.CharField(max_length =30)
def __str__(self):
return str(self.Class)
class StudentiAn4(models.Model):
Username = models.ForeignKey(User)
FirstName = models.CharField(max_length=50)
LastName = models.CharField(max_length=50)
Group = models.CharField(max_length=4)
def __str__(self):
return str(self.Username) + ' ' + self.FirstName +' ' + self.LastName
class CatalogStudenti(models.Model):
catalog = models.ForeignKey(Catalog)
student = models.ForeignKey(StudentiAn4)
grade = models.IntegerField()
def __str__(self):
return str(self.catalog) +' ' + str(self.student)
观点:
def studenti(request):
query = CatalogStudenti.objects.all()
return render(request, 'users/Studenti.html',{'query': query})
作为登录用户(用户名:123,FirstName:test1,LastName:test1_LN ),我希望只查看分配给我的成绩,而不是所有成绩。 你能否告诉我如何过滤输出,以便只看到分配给我的成绩?
当前输出:
123 test1 test1_LN - SEP 5
234 test2 test2_LN - ASC 4
123 test1 test1_LN - AACEP 6
期望的输出:
123 test1 test1_LN - SEP 5
123 test1 test1_LN - AACEP 6
答案 0 :(得分:1)
更改视图功能中的查询集,以便按来自student的用户字段进行过滤:
query = CatalogStudenti.objects.filter('student__Username'=request.user)