Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django模型中创建价格计算器函数_Django_Python 2.7_Django Models_Django Forms - Fatal编程技术网

在Django模型中创建价格计算器函数

在Django模型中创建价格计算器函数,django,python-2.7,django-models,django-forms,Django,Python 2.7,Django Models,Django Forms,我有这个: Class OrderService(models.Model): article_deadline = models.IntegerField() article_pages= models.IntegerField() def price_calc(self): if OrderService.article_deadline <= 12 unit_price =

我有这个:

Class OrderService(models.Model):
       article_deadline = models.IntegerField()
       article_pages= models.IntegerField()
       def price_calc(self):
              if OrderService.article_deadline <= 12
                    unit_price = 35
              elif OrderService.article_deadline>= 13 <= 24
                    unit_price= 30
              else:
                     unit_price= 25
              price_calc()
              return unit_price

        total_cost = article_pages * unit_price
Class OrderService(models.Model):
article_deadline=models.IntegerField()
article\u pages=models.IntegerField()
def价格计算(自身):

如果OrderService.article_deadline=13那么首先你应该使用
self
而不是
OrderService
,你需要在某个时候调用该函数,否则你的
单价将无法计算,因为该函数从未被调用过。缩小这种范围的最佳方法是在函数中使用
print(“testprice\u calc”)
语句

Class OrderService(models.Model):
       article_deadline = models.IntegerField()
       article_pages= models.IntegerField()


       def price_calc(self):
         #print("test price_calc") # check if the function ever gets called
         if self.article_deadline <= 12:
            unit_price = 35
         elif self.article_deadline>= 13 <= 24:
              unit_price= 30
         else:
            unit_price= 25
         return unit_price * self.article_pages
并在管理中注册总成本,在函数中使用它,但同样的事情你也可以使用价格计算,它将显示/计算相同的值


您还可以看到函数从未被调用,因为如果OrderService.article\u需要记住,类中的方法可以自行接受类属性,如果您使用Pycharm,IDE可以为self对象提供提示,而且你以后也不会犯错误。它给出了一个错误,price_calc正好取1个参数(给定0)。有什么建议吗?非常感谢far@MailerDaemon现在检查代码。它应该可以工作。谢谢它工作了,只是返回了单价*self.article\u页面,然后总成本=价格\u计算
total_cost = price_calc