Невозможно получить доступ к отношениям ManyToMany в Django
У меня проблема с доступом к данным в отношениях M2M в Django
Вот модели.
class Country(models.Model):
basic_country = models.ForeignKey(
'datalake.BasicCountry',
on_delete=models.PROTECT,
null=True,
blank=True
)
name = models.CharField(
max_length=100,
unique=True
)
two_letter_code = models.CharField(
max_length=2,
null=True,
blank=True,
unique=True
)
three_letter_code = models.CharField(
max_length=3,
null=True,
blank=True,
unique=True
)
class State(models.Model):
name = models.CharField(max_length=100)
country = models.ForeignKey(
Country,
on_delete=models.PROTECT,
null=True,
blank=True,
related_name='state'
)
class CategoricalFilter(models.Model):
countries = models.ManyToManyField(
'geolocation.Country',
related_name='filtered_countries',
blank=True,
)
states = models.ManyToManyField(
'geolocation.State',
related_name='filtered_states',
blank=True,
)
industries = models.ManyToManyField(
Industry,
related_name='filtered_industries',
blank=True,
)
Теперь я вижу в своей модели CategoricalFilter, что у меня все поля правильные, и есть необходимая информация.
Если я делаю cat_filters = CategoricalFilter.objects.filter("here goes the right filter")
и затем cat_filter.countries.all() (Индивидуальный объект)
я получаю правильные отфильтрованные страны.
Но когда я делаю cat_filter.states.all(), это ничего не дает, и я вижу, что они у меня есть в админке сайта. Есть идеи, что я делаю неправильно?