如何在 Django 中注释条件?

问题描述

我正在尝试做这样的事情:

c = 如果 x > y 返回 x 否则返回 y

内部注释函数

class factura (models.MODEL):
    price = Model.integerField(max_length=50,null=False)
    articles = Models.charField(Max_length=50,default=0,null=False)
    iva = Models.integerField(max_length=50)
    discount = Model.integerField((max_length=50)

factura.objects.annotate(
    total = if total_articles > price return iva else return 

谢谢

解决方法

您可以定义一个 model method 来比较值:


class factura (models.Model):
    ...

    @property
    def check_article(self):
        if int(self.articles) > int(self.price): return 'iva' 
        else: return 

然后你可以这样做:

    qs=factura.objects.all()
    for instance in qs:
        print(instance.check_article)