DRF filterset_class зависит от вложенных сериализаторов
У меня есть модель, которая имеет два ForeignKeys к полиморфным моделям, каждая из которых имеет свои дочерние модели. Как я могу фильтровать поля этих дочерних моделей из одного представления?
class Shape(PolymorphicModel):
dimensions = ...
class CircularShape(Shape):
radius = ...
class TriangularShape(Shape):
arm_length = ...
class Color(PolymorphicModel):
alpha = ...
color RGBColor(Color):
r, g, b = ...
class CMYKColor(Color):
c, m, y, k = ...
class PhysicalObject(Model):
shape = ForeignKey(Shape)
color = ForeignKey(Color)
class PhysicalObjectViewSet(ModelViewSet):
# it should allow me to filter through both Shape and Color subclasses' fields
# for example color__r__gte=127&shape__radius__gte=5
filterset_class = ...