django/tests/backends/base/test_schema.py

20 lines
654 B
Python

from django.db import models
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
from django.test import SimpleTestCase
class SchemaEditorTests(SimpleTestCase):
def test_effective_default_callable(self):
"""SchemaEditor.effective_default() shouldn't call callable defaults."""
class MyStr(str):
def __call__(self):
return self
class MyCharField(models.CharField):
def _get_default(self):
return self.default
field = MyCharField(max_length=1, default=MyStr)
self.assertEqual(BaseDatabaseSchemaEditor._effective_default(field), MyStr)