我有一个名为“Block”的模型。
有任何想法如何去做这件事吗?
非常感谢!
class Block(models.Model):
zone = models.ForeignKey(Zone)
order = models.IntegerField()
weight = models.IntegerField()
block_type = models.CharField(max_length=32, blank=True)
class Meta:
ordering = ['order']
def __str__(self):
return "Block "+str(self.order)
Block对象有一些从它继承的子元素,比如ImageBlock, VideoBlock等,在项目进行时我会继续添加更多。
# Children of Block Object
class TextBlock(Block):
content = models.TextField(blank=True)
class ImageBlock(Block):
content = models.ImageField(blank=True)
class VideoBlock(Block):
content = models.FileField(blank=True)
我需要根据块的顺序执行操作。例如,
渲染TextBlock1 渲染ImageBlock1 渲染TextBlock2
我使用类似于Block.objects.all()的方式查询所有这些对象,然后逐个迭代。在这样做时,如何区分它们中的每个对象?
例如:
blockset = Block.objects.all()
for block in blockset:
if (**some way of differentiating if it's a TextBlock**):
print("This is a text block!")
有任何想法如何去做这件事吗?
非常感谢!