我想知道是否有人有一个将Django REST框架与django-polymorphic相结合的Pythonic解决方案。
给出:
class GalleryItem(PolymorphicModel):
gallery_item_field = models.CharField()
class Photo(GalleryItem):
custom_photo_field = models.CharField()
class Video(GalleryItem):
custom_image_field = models.CharField()
如果我想要django-rest-framework中所有Galleryitem的列表,它只会给我GalleryItem(父模型)的字段,因此:id,gallery_item_field和polymorphic_ctype。 这不是我想要的。 我想要custom_photo_field,如果它是一个照片实例和custom_image_field,如果它是一个视频。
这是一个通用且可重用的解决方案。 这是一个通用的
Serializer
,但修改它使用ModelSerializer
并不困难。 它也不处理序列化父类(在我的情况下,我更多地使用父类作为接口)。并使用它: