2016-02-29 51 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