Если вам нужен только список значений страны, вы можете использовать values_list
:
countries = list(Site.objects.values_list("country",flat=True).order_by("country").distinct())
values_list
возвращает кортежи, которые можно повторять, flat=True
заставляет возвращать набор запросов единичных значений (так что вам все равно нужно будет преобразовать его в список для возврата в ответе json в вашей конечной точке).
Таким образом, ваша конечная точка может в конечном итоге выглядеть примерно так (используя DRF):
from rest_framework.views import APIView
class CountriesView(APIView):
def get(self, request, *args, **kwargs):
sites = Site.objects.all()
country_list = list(sites.values_list("country", flat=True).order_by("country").distinct())
data = {"countries": country_list}
return Response(data=data, status=200)