Django 1.6查询数学不正确

时间:2014-05-22 15:21:56

标签: django

不确定原因,但context['user_activity_percentage']显示为0时显示为0.这是因为context['user_activity']为1且为int(1/4 * 100)= 25.我验证了这在manage.py shell_plus中。为什么它显示0而不是25?

    context['user_activity'] = CommunityProfile.list_all_users.date_search(
            date1, date2, column="last_activity").count()
    context['user_activity_percentage'] = int(context['user_activity']/
            CommunityProfile.objects.count() * 100)

1 个答案:

答案 0 :(得分:2)

如果您使用的是Python 2.x,1/40,而非0.25

>>> 1 / 4
0

如果您想获得0.25,请将其中一个值转换为float

>>> float(1) / 4
0.25

此行为与Python 3.x'(PEP-238: True division)不同。如果您希望/像Python 3.x一样工作,请执行以下操作:

>>> from __future__ import division
>>> 1 / 4
0.25