【发布时间】:2014-09-17 00:41:43
【问题描述】:
有一个模型并用它来创建模型表单集。但是我看到 formset 为每个列提供 id ,例如 form 0 将具有 id_0_exp_date 然后 id_1_exp_date 等,但我正在寻找是否有办法为列设置类,因此所有 exp_date 形式集都具有相同的类。我想要这种行为,所以我可以轻松地在这些查询上指定 jquery 和 css。我在文档中找不到这个,但我觉得应该有办法做到这一点..
models.py:
class Expenditure(models.Model):
exp_date = models.DateField("Expenditure_Date")
description = models.CharField(max_length=500)
amount = models.FloatField(default=0)
currency = models.CharField(max_length=15,default="USD",editable=True)
class Meta:
unique_together = ('exp_date', 'description',)
def __unicode__(self):
return self.description
forms.py
class ExpenditureForm(forms.ModelForm):
exp_date = forms.DateField(widget=AdminDateWidget)
description = forms.CharField(max_length=500)
amount = forms.FloatField(initial=0)
currency = forms.CharField(widget=forms.HiddenInput(), initial="USD")
"""
def __init__(self, *args, **kwargs):
super(ExpenditureForm, self).__init__(*args, **kwargs)
if self.instance.id:
self.fields['currency'].widget.attrs['readonly'] = True
"""
# An inline class to provide additional information on the form.
class Meta:
# Provide an association between the ModelForm and a model
model = Expenditure
提前致谢
基本上我想将货币字段设为只读,但似乎由于某些问题而无法正常工作,或者可能是我做错了什么:
我尝试了什么: 1.currency = forms.CharField(widget=forms.HiddenInput(attrs={'class':'currencyClass'}), initial="USD") 2. self.fields['currency'].widget.attrs['readonly'] = True in form class .
【问题讨论】:
标签: python django django-forms