2

I am trying to learn django by creating a blog on my own, and I've tried some real simple steps before, but now I want to make something slightly more complex. Currently, I am thinking of dividing the blogs' 'Stories' into 'Blocks'. My idea is to have two child classes 'TextBlock' and 'ImageBlock', and my current models look like this.

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)

What I'd like to do now is to create blog entries from the django admin interface. Is it possible to create both types from the main Block? Or do I need to go to both TextBlock and ImageBlock? Any ideas on how I should proceed from here? Thanks.

Mehran
  • 1,264
  • 10
  • 27
  • Do you want to have a single blog post have both an image and a text block? If so firstly you will need to 'link' the two to your Story Model using a foreignkey field. – wtreston Nov 14 '17 at 06:27
  • the link was made in the base class – Mehran Nov 14 '17 at 06:44

0 Answers0