Django models 布尔字段中的If和else语句
我的问题对我来说似乎很棘手,但我相信有人能找到解决办法。我有一个布尔字段,但我想添加一个功能,在其中单击布尔值(True)时,我可以实现一个Django models 布尔字段中的If和else语句,django-models,django-views,django-templates,Django Models,Django Views,Django Templates,我的问题对我来说似乎很棘手,但我相信有人能找到解决办法。我有一个布尔字段,但我想添加一个功能,在其中单击布尔值(True)时,我可以实现一个{%if%}和{%else%},如果布尔字段为True,则可以将特定金额添加到原始金额。我的代码如下,以便正确理解 class OrderItem(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) ordere
{%if%}
和{%else%}
,如果布尔字段为True,则可以将特定金额添加到原始金额。我的代码如下,以便正确理解
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 %}
类OrderItem(models.Model):
user=models.ForeignKey(settings.AUTH\u user\u MODEL,on\u delete=models.CASCADE)
ordered=models.BooleanField(默认值=False)
item=models.ForeignKey(item,on_delete=models.CASCADE)
纸张=模型.布尔字段(默认值=假,空白值=真)
def获取最终价格(自身):
如果self.item.discount\u价格:
返回self.get\总折扣\价格()
返回self.get_总计_项目_价格()
def盖架(自):
返回获取最终价格()+3000
类顺序(models.Model):
user=models.ForeignKey(settings.AUTH\u user\u MODEL,on\u delete=models.CASCADE)
item=models.ManyToManyField(OrderItem)
定义(自我):
返回self.user.username
def获取所有内容(自我):
总数=0
对于self.item.all()中的订单项:
合计+=订单商品。获取最终价格()
返回总数
def获取\u总计\u所有内容\u封面纸(自):
总数=0
对于self.item.all()中的订单项:
总计+=订单项目。封面框()
返回总数
意见
类OrderSummary(LoginRequiredMixin,视图):
def get(自身、*args、**kwargs):
尝试:
******
上下文={'object':顺序}
??????
除ObjectDoesNotExist外:
messages.error(self.request,“还没有有效订单,抱歉!!!”)
返回重定向(“/”)
还有我的html
{%if object.item.paper\u frame%}
{{object.get_total_everything_cover_paper}
{%else%}
{%if object.get_total_everything%}
N{{object.get_total_everything}
{%endif%}
{%endif%}