在django模型查询中划分选项

时间:2015-06-18 07:42:03

标签: python django django-models django-views

这是我的模特:

class DailyObj(models.Model):
          RedDate = models.DateField('RecDate')
          Name= models.CharField(Name,max_length=100,default=None)
          Total_Rec = models.DecimalField('Total Rec',max_digits=18,decimal_places=2,default=None) 



top10records = DailyObj.objects.filter(RedDate__gte =  fromdate,RedDate__lte = todate,Total_Rec__gt=0).order_by('-Total_Rec')[:10]

此处 fromdate todate 是具有正确日期值的变量。

上述查询正常工作并返回满足给定条件的记录。

但是我希望 Total_Rec 的每个值除以10,000,000(即我想在crores中转换全部金额)。只是将此修改后的值传递给模板。我不想更新实际的表值。

1 个答案:

答案 0 :(得分:2)

你可以使用这样的方法:

class DailyObj(models.Model):
    ...
    def total_crores(self):
        return self.Total_Rec / 10000000

它不会存储在数据库中,但可以在模板中访问,如下所示:

{{ daily_obj.total_crores }}

或者,与您的查询一致,这样的事情(假设top10records被添加到视图的上下文中):

<ul>
  {% for record in top10records %}
    <li>{{ forloop.counter }}: {{ record.total_crores }}</li>
  {% endfor %}
</ul>