Эмуляция пустого кверисета с помощью абстрактной модели

У меня есть сценарий использования, в котором у меня есть ListAPIView, который подключается к API стороннего производителя (Stripe), получает данные (счета) и возвращает их пользователю. У меня есть сериализатор, но нет модели.

Весь код выглядит примерно так:

class InvoicesList(generics.ListAPIView):
  serializer_class = InvoiceSerializer

  def get_queryset(self):
    if getattr(self, 'swagger_fake_view', False):
      return   # <----  ¿?¿?¿?¿?¿?¿?¿?¿?
  
    return StripeWrapper().get_invoices()

class InvoiceSerializer(serializers.Serializer):
  ...fields..
  ...fields...
  ...fields

class StripeWrapper():
  def get_invoices():
   return requests.get(......)

Поскольку у меня нет модели, drf-spectacular отказывается генерировать соответствующие спецификации openapi. Он ожидает получить EmptyQuerySet (SomeModel.objects.none()), но я не могу предоставить ему ничего, поскольку у меня нет Invoice модели. Я мог бы создать абстрактную модель, например, такую:

class Invoice(models.Model):
  class Meta:
    abstract = True

но я все равно не смогу предоставить drf-spectacular в Invoice.objects.none(), поскольку в этом классе нет менеджера (и не может быть, поскольку он абстрактный).

Как я могу "эмулировать" (¿?) или "сгенерировать" EmptyQuerySet, чтобы обойти эту проблему?

Вернуться на верх