【发布时间】:2014-04-14 21:11:09
【问题描述】:
我对 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 表的行数,其中登录用户和auth=0 存在ForeignKey。
【问题讨论】:
-
这很奇怪。没有错误?没有消息?没什么?
-
count 是正确的方法:docs.djangoproject.com/en/1.6/ref/models/querysets/#count 您能否提供更多信息或如何输出数据?
-
当然,我在上面添加了 IF 语句。有什么事吗?
-
有可能
UserEnteredTld实际上是0?或者更重要的是,您是否从您的角度提供了这个变量? -
这个视图来自一个 django 模板的视图。 UserEnteredTld 正在检查一行(或更多)是否存在
标签: python django django-queryset