在 Django 模型查询中划分选项

Divide option in django model query

这是我的模型:

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]

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

以上查询工作正常,returns 满足给定条件的记录。

但是我希望 Total_Rec 的每个值除以 10,000,000(即我想转换 crores 中的整数)。只是为了将这个修改后的值传递给模板。我不想更新实际 table 值。

你可以使用这样的方法:

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>