Kaydet (Commit) 8da76ffe authored tarafından Joseph Kocherhans's avatar Joseph Kocherhans

Fixed #12285. ModelForm raises a more informative error if it doesn't have a…

Fixed #12285. ModelForm raises a more informative error if it doesn't have a model class defined. Thanks, tobias.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12526 bcc190cf-cafb-0310-a4f2-bffc1f526a37
üst 7aeb37d6
...@@ -236,6 +236,8 @@ class BaseModelForm(BaseForm): ...@@ -236,6 +236,8 @@ class BaseModelForm(BaseForm):
empty_permitted=False, instance=None): empty_permitted=False, instance=None):
opts = self._meta opts = self._meta
if instance is None: if instance is None:
if opts.model is None:
raise ValueError('ModelForm has no model class specified.')
# if we didn't get an instance, instantiate a new one # if we didn't get an instance, instantiate a new one
self.instance = opts.model() self.instance = opts.model()
object_data = {} object_data = {}
......
...@@ -147,3 +147,8 @@ class CustomModelFormSaveMethod(TestCase): ...@@ -147,3 +147,8 @@ class CustomModelFormSaveMethod(TestCase):
self.assertEqual(form.is_valid(), False) self.assertEqual(form.is_valid(), False)
self.assertEqual(form.errors['__all__'], ['Please specify a real name.']) self.assertEqual(form.errors['__all__'], ['Please specify a real name.'])
class ModelClassTests(TestCase):
def test_no_model_class(self):
class NoModelModelForm(forms.ModelForm):
pass
self.assertRaises(ValueError, NoModelModelForm)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment