我正在填充在Django形式的选择,Django的窗体缓存填充形式
的问题是,当我在浏览器中看到的那样,今年的榜单是根据数据库的罚款,但是当我改变数据库中的某个日期,年份选择列表不会更新。
class PlanForm(forms.Form):
def get_prices():
return forms.ChoiceField(choices=map(lambda x: (x.pk, unicode(x.length) + _(' Day Listing/') + unicode(x.pics) + _(' Photos: ') + _('$ ') + unicode(x.price) ), Pricing.objects.filter(enable=True,site=settings.SITE_ID)),label=_('Plans'), widget=forms.RadioSelect)
def get_options():
return forms.MultipleChoiceField(choices=map(lambda x: (x.pk, unicode(x) + _(' : $') + unicode(x.price)), PricingOptions.objects.filter(enable=True,site=settings.SITE_ID)),label=_('Ads Options'), widget=forms.CheckboxSelectMultiple, required=False)
def __init__(self, *args, **kwargs):
print 'passou no init'
super(PlanForm, self).__init__(*args, **kwargs)
self.fields['pricing'] = self.get_prices()
self.fields['pricing_options'] = self.get_options()
pricing = get_prices()
pricing_options = get_options()
我试试这个代码,但我得到的错误
get_prices()不带任何参数(1给出)
我怎么能SOVE呢?
工作,但会调用init内get_prices方法? – 2012-02-14 13:33:13