2016-02-29 49 views
-2

打电话与在models.py参数的自定义方法我有这样的例子:如何从views.py

class MyModel(models.Model): 
    # Some fields... 
    price = models.FloatField() 

    def calculate(self, number): 
     return self.price * number 

在访问量:

def whatever(request, any_number): 
    m = MyModel.objects.all() 
    c = m.calculate(any_number) 

    # More code... 

这是一个非常简单的例子,因为我想做类似的事情,那我该怎么做?

谢谢!

+1

在一个不相关的评论,你可能想使用DecimalField代替FloatField的保存价格。 – krs

回答

1

你需要做一个for循环,因为m是对象的数组:

for item in m: 
    result = item.calculate(any_number) 
    # do some stuff with the result 
+1

那,或者定义自定义管理器中的方法。 https://docs.djangoproject.com/en/1.9/topics/db/managers/ – Wtower

+0

好吧,我会试试这种方式,谢谢! – hectorlr22

+0

是的,你是对的!非常感谢! – hectorlr22