models.py从获取的对象访问值?
class Period(CommonInfo):
order_value = models.PositiveSmallIntegerField()
start_date = models.DateField()
end_date = models.DateField()
name = models.CharField(max_length=30)
class LeaseDiscount(CommonInfo):
amount = models.DecimalField(max_digits=7, decimal_places=2)
amountpayed = models.DecimalField(max_digits=7, decimal_places=2)
leaseterm = models.ForeignKey(LeaseTerm)
period_date = models.ForeignKey(Period)
views.py
我想列出所有我有我的租约某些时段的折扣,查询如下:
period = Period.objects.filter(order_value__gte = start, order_value__lte = end).prefetch_related(
Prefetch(
"leasediscount_set",
queryset=LeaseDiscount.objects.filter(is_active=True, leaseterm = activeterm),
to_attr="all_discount"
)
)
但是当我显示时间的列表中我的模板为all_discount输出[<LeaseDiscount: LeaseDiscount object>]
为什么?我如何访问这个对象的值?一般来说,我是否以正确的方式做事?
UPDATE: 模板
{% for field1 in data.period%}
<td> {{ field1.all_discount }}</td>
你可以了'__str__'方法添加到'LeaseDiscount'模型,返回任何你想默认显示。参考:https://docs.djangoproject.com/en/1.10/ref/models/instances/#str –
你应该表现出你的模板。一般来说,这只是告诉你,你有一个查询集;你会像平常一样遍历并访问各个项目。 –