У меня есть приложение Django, в котором есть серия сообщений, помеченных почтовым индексом.Я хотел бы создать страницу, которая показывает все сообщения по штатам, но я не уверен, как это сделать.У меня есть таблица ZipCode, но мое поле Post.zipcode не связано с ней (в основном потому, что оно введено пользователем и позволяет использовать почтовые индексы, которые не находятся в БД или за пределами США).
Мое отношениемодели:
class Post(models.Model):
body = models.TextField()
zipcode = models.CharField(max_length=5)
class ZipCode(models.Model):
zipcode = models.CharField(max_length=5)
city = models.CharField(max_length=64)
statecode = models.CharField(max_length=2)
statename = models.CharField(max_length=32)
latitude = models.FloatField()
longitude = models.FloatField()
В моем представлении Django я бы хотел взять параметр "state", передаваемый из моего шаблона url, и сделать что-то вроде этого:
def posts_by_state(request, state):
posts = Post.objects.filter(zipcode__statecode=state)
...
К сожалению, мое поле Post.zipcode не является внешним ключом для ZipCode, поэтому я получаю эту ошибку, если пытаюсь:
FieldError at /post/state/VT/
Join on field 'zipcode' not permitted.
У кого-нибудь есть подсказка о том, как мне создать набор запросов, который собирает все сообщения вместезапрашиваемое состояние?Заранее спасибо.