TD
# Если получаем какое-либо значение кроме пустого поля, то show_only_my_adverts = True
show_only_my_adverts = bool(request.data.get("show_my_adverts"))
# Показываем только объявления данного пользователя
if show_only_my_adverts:
self.queryset = Ad.objects.filter(creator=request.user)
else:
# Показываем все объявления
self.queryset = Ad.objects.all()
2. По самому вопросу - а что не так? Вроде, в коде всё и так норм, согласно бизнес-логике.
Разве что можно переписать в виде
queryset = Ad.objects.all()
if show_only_my:
queryset = queryset.filter(creator=...)
Но это вкусовщина уже, кмк