开发者

Is this how django does Single Table Inheritance?

In this SO question I see the following:

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

I have done some STI in Rails before, but never in django. Is this how it's do开发者_如何学Gone in django? Will it only create one table having all the fields in all the models? Will it add a type column?


Unfortunately, Django does not support single table inheritance: Single Table Inheritance in Django


There will be two tables created, one for Picture, and one for Video. It will not be possible to create a query that returns both types.

"Abstract base classes"

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜