diff options
Diffstat (limited to 'tests/regressiontests/admin_validation/models.py')
| -rw-r--r-- | tests/regressiontests/admin_validation/models.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_validation/models.py b/tests/regressiontests/admin_validation/models.py new file mode 100644 index 0000000000..bd83f80a1b --- /dev/null +++ b/tests/regressiontests/admin_validation/models.py @@ -0,0 +1,43 @@ +""" +Tests of ModelAdmin validation logic. +""" + +from django.db import models + +class Song(models.Model): + title = models.CharField(max_length=150) + + class Meta: + ordering = ('title',) + + def __unicode__(self): + return self.title + +__test__ = {'API_TESTS':""" + +>>> from django import forms +>>> from django.contrib import admin +>>> from django.contrib.admin.validation import validate + +# +# Regression test for #8027: custom ModelForms with fields/fieldsets +# + +>>> class SongForm(forms.ModelForm): +... pass + +>>> class ValidFields(admin.ModelAdmin): +... form = SongForm +... fields = ['title'] + +>>> class InvalidFields(admin.ModelAdmin): +... form = SongForm +... fields = ['spam'] + +>>> validate(ValidFields, Song) +>>> validate(InvalidFields, Song) +Traceback (most recent call last): + ... +ImproperlyConfigured: 'InvalidFields.fields' refers to field 'spam' that is missing from the form. + +"""} |
