我对django有点生疏。
我想知道是否有人可以告诉我如何从此查询中计算db对象:
UserEnteredTld = Tld.objects.filter(FKtoClient=request.user, auth=0)
我以前做过:
UserEnteredTld = Tld.objects.filter(FKtoClient=request.user, auth=0).count()
在模板(包含var)中:
{% if UserEnteredTld %}
<h3>I have Tld's</h3>
{% endif %}
观点:
UserEnteredTld = Tld.objects.filter(FKtoClient=request.user, auth=0).count()
UserAuthTld = Tld.objects.filter(FKtoClient=request.user,auth=1).count()
return render(request, 'accounthome.html', {
'UserEnteredTld':UserEnteredTld,
'UserAuthTld':UserAuthTld
})
模型
class Tld(models.Model):
auth = models.BooleanField(default=False)
FKtoClient = models.ForeignKey(User)
但是,这似乎没有输出任何东西。 (我验证了实际的行存在...)
要明确:我只是尝试计算Tld
表的行数,其中{1}}存在于已登录用户和ForeignKey
。< / p>
答案 0 :(得分:1)
请勿使用count
。使用exists
(docs)。
user_entered_tld = Tld.objects.filter(FKtoClient=request.user, auth=False).exists()
{% if user_entered_tld %}
<h3>I have Tld's</h3>
{% endif %}
一些注意事项:
user_entered_tld
代替
UserEnteredTld
。这是一个很好的Python惯例。