2013-06-02 39 views
-1

我想在我的模型中編寫一個能夠訪問外鍵數據的方法。這是我的代碼:Django在模型中訪問外鍵方法

models.py:

class Student(models.Model): 
    name = models.CharField(max_length=255) 
    type = models.CharField(max_length=20, default="Normal") 

class studentFund(models.Model): 
    student = models.ForeignKey('Student') 
    rate = models.DecimalField(max_digits=9, decimal_places=2) 

    def subTotal(self): 
     if self.student.type == "Normal" 
      return self.rate 
     else: 
      return (self.rate * 2) 

上面讓我有語法錯誤。有沒有辦法做到這一點,以便我可以輕鬆地在我的模型中而不是在視圖中計算「subTotal」?

+0

什麼是錯誤? – okm

+0

如果self.student.type ==「Normal」末尾缺少分號' –

+0

@ TimmyO'Mahony您的意思是一個冒號而不是分號 – Azd325

回答

3

正如大家指出的,您在if聲明中缺少冒號。

想一想,當它是SyntaxError時,你的Python代碼有問題,而不是Django或你正在處理的任何東西。這僅表示Python解析器無法解析您的源代碼。