diff options
author | Florian Apolloner <florian@apolloner.eu> | 2013-02-26 09:53:47 +0100 |
---|---|---|
committer | Florian Apolloner <florian@apolloner.eu> | 2013-02-26 14:36:57 +0100 |
commit | 89f40e36246100df6a11316c31a76712ebc6c501 (patch) | |
tree | 6e65639683ddaf2027908d1ecb1739e0e2ff853b /tests/field_defaults | |
parent | b3d2ccb5bfbaf6e7fe1f98843baaa48c35a70950 (diff) | |
download | django-89f40e36246100df6a11316c31a76712ebc6c501.tar.gz |
Merged regressiontests and modeltests into the test root.
Diffstat (limited to 'tests/field_defaults')
-rw-r--r-- | tests/field_defaults/__init__.py | 0 | ||||
-rw-r--r-- | tests/field_defaults/models.py | 25 | ||||
-rw-r--r-- | tests/field_defaults/tests.py | 19 |
3 files changed, 44 insertions, 0 deletions
diff --git a/tests/field_defaults/__init__.py b/tests/field_defaults/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/field_defaults/__init__.py diff --git a/tests/field_defaults/models.py b/tests/field_defaults/models.py new file mode 100644 index 0000000000..c99d4871cd --- /dev/null +++ b/tests/field_defaults/models.py @@ -0,0 +1,25 @@ +# coding: utf-8 +""" +32. Callable defaults + +You can pass callable objects as the ``default`` parameter to a field. When +the object is created without an explicit value passed in, Django will call +the method to determine the default value. + +This example uses ``datetime.datetime.now`` as the default for the ``pub_date`` +field. +""" + +from datetime import datetime + +from django.db import models +from django.utils.encoding import python_2_unicode_compatible + + +@python_2_unicode_compatible +class Article(models.Model): + headline = models.CharField(max_length=100, default='Default headline') + pub_date = models.DateTimeField(default=datetime.now) + + def __str__(self): + return self.headline diff --git a/tests/field_defaults/tests.py b/tests/field_defaults/tests.py new file mode 100644 index 0000000000..5d9b45610e --- /dev/null +++ b/tests/field_defaults/tests.py @@ -0,0 +1,19 @@ +from __future__ import absolute_import + +from datetime import datetime + +from django.test import TestCase +from django.utils import six + +from .models import Article + + +class DefaultTests(TestCase): + def test_field_defaults(self): + a = Article() + now = datetime.now() + a.save() + + self.assertTrue(isinstance(a.id, six.integer_types)) + self.assertEqual(a.headline, "Default headline") + self.assertTrue((now - a.pub_date).seconds < 5) |