2013-03-19 33 views
0

我使用Django管理我的網站。 我有班學生和管理員自動生成表單。如何使用構造函數Django管理的模式

現在我想initilaize基於用戶位置的記錄位置的學生模型本身的價值。

我不想在形式,但在模型像

class Student: 

    def __init__(self): 
     self.location = get_logged_user_location() 

做的是有可能做這樣的MDEL僅

我試圖像這樣

def __init__(self, *args, **kwargs): 
     super(Student, self).__init__(*args, **kwargs) 
     self.name="test" 

但它不工作。我得到空的文本字段的形式

+0

爲什麼不把默認在您的名稱字段。 '名稱= models.CharField(缺省值= get_logged_user_location())' – catherine 2013-03-19 03:12:16

+0

模型可以請求/響應相位(從django的殼例如),其不一定會允許你有訪問請求或用戶之外使用。設置數據的地方在表單中,或者可能在您的管理員模型中。 – 2013-03-19 03:27:46

+0

其實如果我這樣做,我需要運行數據庫遷移,我不想這樣做。有沒有辦法在構造函數中做到這一點 – user1865341 2013-03-19 03:32:05

回答

0

應該是:

def __init__(self, *args, **kwargs): 
    self.name="test" 
    super(Student, self).__init__(*args, **kwargs) 
+0

我也試過,但沒有工作 – user1865341 2013-03-19 02:31:26