1234567891011121314151617181920212223242526272829 |
- from django.core import checks
-
-
- class CheckFieldDefaultMixin:
- _default_hint = ('<valid default>', '<invalid default>')
-
- def _check_default(self):
- if self.has_default() and self.default is not None and not callable(self.default):
- return [
- checks.Warning(
- "%s default should be a callable instead of an instance so "
- "that it's not shared between all field instances." % (
- self.__class__.__name__,
- ),
- hint=(
- 'Use a callable instead, e.g., use `%s` instead of '
- '`%s`.' % self._default_hint
- ),
- obj=self,
- id='postgres.E003',
- )
- ]
- else:
- return []
-
- def check(self, **kwargs):
- errors = super().check(**kwargs)
- errors.extend(self._check_default())
- return errors
|