2013-06-22 98 views
0

說我有以下幾種,Model_1有1個整數,Model_2繼承Model_1並增加了另一個整數。Django繼承了模型實例創建函數

class Model_1Manager (models.Manager): 
    def create (self, i) 
    m = self.model(value1=i) 
    m.save() 

class Model_1 (models.Model): 
    value1 = model.IntegerField() 
    objects = Model_1Manager() 

class Model_2Manager (Model_1Manager): 
    def create (self, i1, i2) 
    m = self.model(value1=i1, value2=i2) 
    m.save() 

class Model_2 (Model_1): 
    value2 = model.IntegerField() 
    objects = Model_2Manager() 

問題:

  1. 是在Model_2Managercreate()功能正常寫成是什麼?
  2. 有什麼方法可以給我打電話Model_1Managercreate()函數?這將如何工作?

回答

1

Model_2Managercreate()功能正常寫成是什麼?

它是。

有沒有辦法讓我打電話給Model_1Managercreate()函數?這將如何工作?

在這種情況下 Model_1Manager.create()

遺憾的是沒有做足夠的初始化Model_2,所以你不應該試圖調用它。

+0

嗯...我想它也沒有任何意義繼承經理。我應該做的是製作Model_1抽象,而不是爲它定義一個管理器,然後爲Model_2定義一個管理器。 – reedvoid