首页 > 解决方案 > 布尔字段中的 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 %}

标签: django-modelsdjango-viewsdjango-templates

解决方案


推荐阅读