@Django QuerySet não retorna nada

Tenho uma lista de países, todos eles têm um URL próprio, por exemplo, www.example.com/al/. Há uma lista de cidades para todos os países, mas a lista_objetos está vazia

Minha visão

class CityOverview(generic.ListView):
    template_name = 'shisha/pages/country_index.html'
    model = City

    def get_queryset(self, *args, **kwargs):
        country_id = self.kwargs.get('country_id')
        return City.objects.filter(country__name=country_id)

Meu modelo

class Country(models.Model):
    COUNTRY_CHOICES = (
        ('al', 'Albania'),
        ('ad', 'Andorra'),
        #etc. etc.
    )
    name = models.CharField(max_length=255, choices=COUNTRY_CHOICES, default='nl')

    def __str__(self):
      return self.name

class City(models.Model):
    country = models.ForeignKey(Country, on_delete=models.CASCADE)
    name = models.CharField(max_length=250)

    def __str__(self):
      return self.name

My Urls:

path('<str:country_id>', views.CityOverview.as_view(), name='country'),

My Template:

{{ object_list }}

Ele retorna um QuerySet vazio

<QuerySet []>

Alguém sabe qual é o problema

questionAnswers(2)

yourAnswerToTheQuestion