这是django如何进行单表继承?

时间:2011-06-09 07:30:00

标签: django single-table-inheritance

this SO question中,我看到以下内容:

class MediaContent(models.Model):
    uploader = models.ForeignKey(User)
    title = models.CharField(max_length=100)
    created = models.DateTimeField(auto_now_add=True)

    def draw_item(self):
        pass

    class Meta:
        abstract = True

class Picture(MediaContent):
    picture = models.ImageField(upload_to='pictures')

class Video(MediaContent):
    identifier = models.CharField(max_length=30) #youtube id

我之前在Rails中做了一些STI,但从未在django中做过。这是在django中完成的吗?它只会创建一个包含所有模型中所有字段的表吗?它会添加一个类型列吗?

2 个答案:

答案 0 :(得分:4)

不幸的是,Django不支持单表继承:Single Table Inheritance in Django

答案 1 :(得分:3)

将创建两个表,一个用于图片,一个用于视频。无法创建返回两种类型的查询。

"Abstract base classes"