2016-12-30 3 views
0

私は幾分恣意的な量のフォームを持っていたいと思うformsetを持っています。ここにformsetクラスがあります。django 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()) 

あなたが見ることができるように3000件のフォームがある場合、チャートがあるなぜ私が1000でmax_numを設定していても検証していますこの?

答えて

2

> 1000年しようとする変更

'form-TOTAL_FORMS': 2 

に、私の代わりに、実際のデータ

'form-TOTAL_FORMS': 1003, 


Traceback (most recent call last): 
File "/home/bobby/Documents/code/python/hello/try/tests.py", line 38, in test_chart_dataset_validates_with_3000_sets 
self.assertTrue(form.is_valid()) 
AssertionError: False is not true 
のこの属性に対する試験のテストを考えます
関連する問題