次のようなURLを取るjsonクエリのために、urls.pyにURL正規表現を書き込もうとしています:
http://localhost:8000/structures/hydrants/3/json?address=100+Washington+Road,+Sacramento,+CA
そしてそれを次のようにビューに向けます:
def hydrant_json(request, hydrant_address):
hydrant = Hydrant.objects.filter(address = hydrant_address)
data = [hydrant.json()]
return HttpResponse(json.dumps(data), content_type='application/json')
アドレスは次のように定義されます。
class Address(models.Model):
class Meta:
verbose_name_plural = "addresses"
street_num = models.IntegerField(default=0)
street = models.CharField(max_length=200)
city = models.CharField(max_length=200)
state = models.CharField(max_length=200)
def json(self):
fields = ('street_num', 'street', 'city', 'state')
return {
'street_num': str(self.street_num),
'street': str(self.street),
'city': str(self.city),
'state': str(self.state)
}
def __unicode__(self):
return str(self.street_num) + ' ' + self.street + ', ' + self.city + ', ' + self.state
および hydrant.json() が機能し、すべてがビュー側でダンディです。正規表現が上記の形式で正確なアドレスを取得し、クエリ URL に収まるようにしたいだけです。
ありがとう!