~ubuntu-branches/debian/sid/python-django/sid

« back to all changes in this revision

Viewing changes to tests/forms_tests/models.py

  • Committer: Package Import Robot
  • Author(s): Raphaël Hertzog
  • Date: 2014-09-17 14:15:11 UTC
  • mfrom: (1.3.17) (6.2.18 experimental)
  • Revision ID: package-import@ubuntu.com-20140917141511-icneokthe9ww5sk4
Tags: 1.7-2
* Release to unstable.
* Add a migrate-south sample script to help users apply their South
  migrations. Thanks to Brian May.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
 
21
21
callable_default_value = 0
 
22
 
 
23
 
22
24
def callable_default():
23
25
    global callable_default_value
24
26
    callable_default_value = callable_default_value + 1
27
29
 
28
30
class Defaults(models.Model):
29
31
    name = models.CharField(max_length=255, default='class default value')
30
 
    def_date = models.DateField(default = datetime.date(1980, 1, 1))
 
32
    def_date = models.DateField(default=datetime.date(1980, 1, 1))
31
33
    value = models.IntegerField(default=42)
32
34
    callable_default = models.IntegerField(default=callable_default)
33
35
 
34
36
 
35
37
class ChoiceModel(models.Model):
36
38
    """For ModelChoiceField and ModelMultipleChoiceField tests."""
 
39
    CHOICES = [
 
40
        ('', 'No Preference'),
 
41
        ('f', 'Foo'),
 
42
        ('b', 'Bar'),
 
43
    ]
 
44
 
 
45
    INTEGER_CHOICES = [
 
46
        (None, 'No Preference'),
 
47
        (1, 'Foo'),
 
48
        (2, 'Bar'),
 
49
    ]
 
50
 
 
51
    STRING_CHOICES_WITH_NONE = [
 
52
        (None, 'No Preference'),
 
53
        ('f', 'Foo'),
 
54
        ('b', 'Bar'),
 
55
    ]
 
56
 
37
57
    name = models.CharField(max_length=10)
 
58
    choice = models.CharField(max_length=2, blank=True, choices=CHOICES)
 
59
    choice_string_w_none = models.CharField(
 
60
        max_length=2, blank=True, null=True, choices=STRING_CHOICES_WITH_NONE)
 
61
    choice_integer = models.IntegerField(choices=INTEGER_CHOICES, blank=True,
 
62
                                         null=True)
38
63
 
39
64
 
40
65
@python_2_unicode_compatible
63
88
    multi_choice_int = models.ManyToManyField(ChoiceOptionModel, blank=False, related_name='multi_choice_int',
64
89
                                              default=lambda: [1])
65
90
 
 
91
 
66
92
class OptionalMultiChoiceModel(models.Model):
67
93
    multi_choice = models.ManyToManyField(ChoiceOptionModel, blank=False, related_name='not_relevant',
68
94
                                          default=lambda: ChoiceOptionModel.objects.filter(name='default'))