내가 별도의 서브 클래스과 같이 블록의 각 유형의베이스 블록 모델 블록 시스템을 구축하고있다 : 나는 할 수 있도록하고 싶습니다 무엇Django에서 여러 모델을 반환하는 쿼리 세트를 얻으려면 어떻게해야합니까?
class BlockType(models.Model):
''' Defines properties of a block '''
title = models.CharField(max_length=50)
class_name = models.CharField(max_length=50)
class Block(models.Model):
''' Implementation of the block '''
product = models.ForeignKey('product.Product', related_name='blocks')
block_type = models.ForeignKey('product.BlockType', related_name='used_blocks')
order = models.IntegerField(default=0)
class ImageBlock(Block):
''' An image block '''
image = models.CharField(max_length=255)
class TextBlock(Block):
''' A text block '''
text = models.TextField()
입니다 :
b = product.blocks.all()
그리고이 대신에 Block 객체 목록이 있습니다. 관련 하위 클래스 목록입니다.
제품에 TextBlock과 2 개의 ImageBlock이있는 경우. 위의 경우 TextBlock 객체와 3 개의 Block 객체가 아닌 2 개의 ImageBlock이 반환됩니다.