Django - наследование нескольких таблиц с администратором django

Я пытаюсь выучить django, создав собственный блог, и раньше я пробовал несколько простых шагов, но теперь я хочу сделать что-то более сложное. В настоящее время я думаю о разделении блогов "Рассказы" на "Блоки". Моя идея состоит в том, чтобы иметь два дочерних класса TextBlock и ImageBlock, и мои текущие модели выглядят так.

class Story(models.Model):
    writer = models.CharField(max_length=189)
    title = models.CharField(max_length=189)


class Block(models.Model):
    story = models.ForeignKey(Story, related_name='+', on_delete=models.CASCADE)
    block = EnumField(choices=[
        ('TXT', "text"),
        ('IMG', "image"),
    ])
    serial = models.IntegerField(default=0)

    date_created = models.DateTimeField(auto_now_add=True)
    date_modified = models.DateTimeField(auto_now=True)


class TextBlock(Block):
    type = models.CharField(max_length=128, blank=True, null=True, default='paragraph')
    content = models.TextField(blank=True, null=True)


class ImageBlock(Block):
    src = models.URLField()
    type = models.CharField(max_length=128, blank=True, null=True, default='full')
    title = models.CharField(max_length=189, blank=True, null=True)
    photographer = models.CharField(max_length=128, blank=True, null=True)

Сейчас я хочу создать записи в блоге из интерфейса администратора django. Можно ли создать оба типа из основного блока? Или мне нужно перейти к TextBlock и ImageBlock? Любые идеи о том, как мне следует отсюда идти? Благодарю.

0 ответов

Другие вопросы по тегам