Вызов api по определению в django
У меня есть api, настроенный на url, чтобы иметь возможность вызывать с токеном предъявителя {base_url}/iterations.json.
Мне интересно, могу ли я как-то вызвать вложенное значение из этого, которое не появляется в моем оригинальном api.
Подробнее:
Мой url ссылается на набор просмотров. Этот набор представлений выглядит следующим образом:
class ChannelViewSet(CustomViewset):
filterset_class = ChannelFilterSet
def get_serializer_class(self):
if self.action == 'list':
return ChannelListItemSerializer
elif self.action == 'retrieve':
return ChannelSerializer
raise ValueError(self.action)
def get_queryset(self):
if not self.request:
return ChannelModel.objects.none()
qs = ChannelModel.objects.available_for_user(self.request.user).order_by(
*telegram_conf.CHANNEL_ORDERING_DEFAULT
)
# user subscription date filter
subscription_datetime = self.request.user.get_api_subscription_time()
if subscription_datetime is not None:
qs = qs.filter(created__gte=subscription_datetime.timestamp())
return qs
Модель канала не содержит нужных мне данных, но сериализатор канала содержит их в виде функции, которая затем возвращает значение 'links'
def get_links(self, obj):
return [
self.link_serializer.to_representation(link)
for link in ChannelLink.objects.filter(channel=obj.pk)
]
Когда я вызываю свой api, я не вижу поле links, но есть ли способ как-то вызвать элемент links из сериализатора через api? Это нужно для наших клиентов, у которых нет доступа к коду сайта напрямую, поэтому им нужен URL.
Нужно ли будет изменить код, чтобы добавить поле в конечный вид?
Спасибо!
*** Edit: Мне нужны элементы из ChannelSerializer НЕ channelListItemSerializer, есть ли способ направить это? ***