Использование Django 1.1.1
В models.py:
class Site(models.Model):
name = models.CharField(max_length=50)
class SiteMonth(models.Model):
site = models.ForeignKey(Site)
timestamp = models.DateTimeField()
parameter1 = models.IntegerField()
....
In site_view.py:
#form for selecting which site to analyse
class SiteForm(forms.Form):
site = forms.ModelChoiceField(queryset=Site.objects.all())
#form for selecting which site month to analyse
class SiteMonthForm(forms.Form):
month = forms.ModelChoiceField(queryset=SiteMonth.objects.all())
def site(request,site=None):
siteForm = SiteForm(request.GET)
if not site==None:
siteMonthForm = SiteMonthForm(request.GET)
.....
и в urls.py:
(r'^site/$', 'my_project.site_view.site'),
(r'^site/(?P<site>\d+)/', 'my_project.site_view.site'),
Итак, я занимаюсь созданием страницы, с помощью которой можно посмотреть детали конкретного сайта. Если в URL не указан идентификатор сайта, существует форма для его выбора, которая затем будет перенаправлена на правильный URL-адрес (с помощью javascript в шаблоне).
Что я хочу сделать после выбора сайта, так это создать на странице форму, позволяющую выбирать объекты SiteMonth, принадлежащие этому сайту, для дальнейшего изучения. Мой код выше в настоящее время перечисляет все объекты SiteMonth для всех сайтов. Как настроить форму SiteMonth так, чтобы она заполнялась только значениями, относящимися к идентификатору сайта, указанному в запросе GET?
Я могу придумать пару способов сделать это, ни один из них не изящный - как правильно вести джанго?