django-models - 布尔字段中的 if 和 else 语句
问题描述
我的问题对我来说似乎很棘手,但我确信有人可以找到解决方案。我有一个布尔字段,但我想添加一个功能,当单击布尔值(真)时,我可以实现一个功能,如果布尔字段为真{% if %}
,{% else %}
则可以将特定数量添加到原始数量. 为了正确理解我的代码如下...
class OrderItem(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
ordered = models.BooleanField(default=False)
item = models.ForeignKey(Item, on_delete=models.CASCADE)
paper = models.BooleanField(default=False, blank=True)
def get_final_price(self):
if self.item.discount_price:
return self.get_total_discount_price()
return self.get_total_item_price()
def coverframe(self):
return get_final_price() + 3000
class Order(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
item = models.ManyToManyField(OrderItem)
def __str__(self):
return self.user.username
def get_total_everything(self):
total = 0
for order_item in self.item.all():
total += order_item.get_final_price()
return total
def get_total_everything_cover_paper(self):
total = 0
for order_item in self.item.all():
total += order_item.coverframe()
return total
Views
class OrderSummary(LoginRequiredMixin, View):
def get(self, *args, **kwargs):
try:
******
context = {'object':order}
??????
except ObjectDoesNotExist:
messages.error(self.request, "No active order yet, sorry!!!")
return redirect('/')
and my html
{% if object.item.paper_frame %}
<tr>
<td><b>{{object.get_total_everything_cover_paper}}</b></td>
</tr>
<tr>
{% else %}
{% if object.get_total_everything %}
<tr>
<td><b>N {{object.get_total_everything}}</b></td>
</tr>
<tr>
{% endif %}
{% endif %}
解决方案
推荐阅读
- express - 使用 Nginx 作为 Express 和 NuxtJs 的反向代理刷新页面很长时间
- laravel - 将 Laravel 5.8 升级到 6.2 后 SQLite 迁移出错
- javascript - if 和 else if 语句被忽略,Javascript
- oracle-apex - Oracle APEX - 具有多个父项的面包屑条目
- javascript - 从外部 HTML 文件调用 javascript 函数
- c# - 什么是 kafka 中的本地值序列化错误?
- docker - 我可以回滚到以前版本的 Docker Desktop 吗?
- r - 如何使用插入符号在递归特征消除中进行下采样?
- javascript - 从数组中的对象获取值:js
- angular - Spring Boot & Angular 应用程序部署