Django继承了模型实例创建功能

时间:2013-06-22 03:35:47

标签: django inheritance django-managers

说我有以下内容,Model_1有1个整数,Model_2继承Model_1并添加另一个整数。

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. create()中的Model_2Manager函数是否正确写入了?
  2. 我有办法调用Model_1Manager的{​​{1}}函数吗?怎么会有用?

1 个答案:

答案 0 :(得分:1)

  

create()中的Model_2Manager函数是否按原样正确写入?

是。

  

我可以通过某种方式致电Model_1Manager create()功能吗?这会怎么样?

不幸的是,在这种情况下,Model_1Manager.create()无法初始化Model_2,因此您不应该尝试调用它。