我有以下測試......Django的測試形式是有效的,當它含有ModelChoiceField
def test_contact_form(self):
form_data = {'name': 'Reiss Johnson',
'email': '[email protected]',
'_type': 'General Enquiry',
'content': 'This is some content'}
form = ContactForm(data=form_data)
self.assertTrue(form.is_valid())
這原本是通過爲「_type」是一個CharField,但它現在是一個ModelChoiceField &也是如此有人知道爲什麼這是失敗的?我猜即時輸入'_type'字典不正確現在?
我怎麼能得到上述測試再次通過?
我的形式是這樣...
class ContactForm(forms.Form):
name = forms.CharField(max_length=50)
email = forms.EmailField()
content = forms.CharField()
_type = forms.ModelChoiceField(queryset=EnquiryType.objects.values_list('text', flat=True), empty_label=None)
什麼是'EnquiryType'值是多少? 'GeneralEnquiry'可能不是一個有效的選擇,這意味着它不匹配查詢集的任何值。 –
目前我有2個EnquiryType對象,其中一個具有'General Inquiry'的'.text'屬性,另一個具有'Request A Call Back'.text'屬性。我是否需要傳遞屬性或其他內容? –