我想展示test_date用户模型的最新价值。 我在views.py中写道
@login_required
def test(request):
test_score = User.objects.filter(user=request.user).order_by('test_date')[0]
return render(request, 'test.html',{'test_score': test_score})
在models.py
中class User(models.Model):
user = models.ForeignKey("auth.User", verbose_name="imageforegin")
test_date = models.IntegerField(max_length=100,null=True)
score = models.IntegerField(max_length=100,null=True)
test.html中的
<h3>Your score is
<h2 class="one"> {{ test_score.score }} </h2>
</h3>
如果测试日是2017/03 / 03,20170303,则在用户的test_date中注册。测试分数在分数中注册(例如,如果分数为60,60则被注册) 用户·test_date·得分的数据类型在同一用户中很多。例如,数据是
Tom 20170809 60
Tom 20170810 100
Tom 20171010 30
在那种情况下test.html是
<h3>Your score is
<h2 class="one">30</h2>
</h3>
但是现在,test.html是
<h3>Your score is
<h2 class="one">60</h2>
</h3>
60是第一个注册数据,所以当前我的系统显示它。我认为test_score = User.objects.filter(user=request.user).order_by('test_date')[0]
得到最新(最大)的数据Tom 20170810 100因为Django文件。我的代码出了什么问题?我应该怎么解决这个问题? ?
答案 0 :(得分:0)
你的模特看起来很腥。
您需要将订单更改为&#39; -test_date &#39;
@login_required
def test(request):
test_score = User.objects.filter(user=request.user).order_by('-test_date')
if test_score:
test_score = test_score[0]
else:
return Http404
return render(request, 'test.html', {'test_score': test_score})