在 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]
此处 fromdate 和 todate 是具有正确日期值的变量。
以上查询工作正常,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>
这是我的模型:
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 是具有正确日期值的变量。
以上查询工作正常,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>