我有一个表单集,我想有一些任意数量的形式。下面是formset类。你知道吗
class ChartDatasetForm(forms.Form):
"""Giving the form a dataset, meant to be repeated with formsets"""
data_label = forms.CharField(label="Data Label", max_length=100)
dataset = forms.CharField(label="Data", max_length=1000)
ChartDatasetFormset = formset_factory(
ChartDatasetForm, min_num=1, validate_min=True, max_num=1000, validate_max=True)
然后我做了一些这样的测试。。。你知道吗
class FormTests(TestCase):
"""Testing that the forms work as expected"""
def setUp(self):
"""Setting up data for forms"""
self.dataset = {
'form-TOTAL_FORMS': 2,
'form-INITIAL_FORMS': 0,
'form-MIN_NUM_FORMS': 1,
'form-MAX_NUM_FORMS': 1000,
'form-0-data_label': '',
'form-0-dataset': '',
'form-1-data_label': '',
'form-1-dataset': '',
}
def test_chart_dataset_validates_with_2_sets(self):
"""Testing that the form validates when there are two datasets"""
for n in range(2):
self.dataset['form-%s-data_label' % n] = 'the labels'
self.dataset['form-%s-dataset' % n] = '1, 2'
form = ChartDatasetFormset(self.dataset)
self.assertTrue(form.is_valid())
def test_chart_dataset_validates_with_3000_sets(self):
"""Running up to the max amount of forms to see if it validates"""
for n in range(3000):
self.dataset['form-%s-data_label' % n] = 'the labels'
self.dataset['form-%s-dataset' % n] = '1, 2'
form = ChartDatasetFormset(self.dataset)
form.clean()
self.assertTrue(form.is_valid())
如您所见,即使我将max_num
设置为1000,当有3000个表单时,图表仍在验证。为什么会这样?你知道吗
尝试改变
到>;1000,我认为测试是针对这个属性而不是实际数据进行的
相关问题 更多 >
编程相关推荐