mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #28431 -- Added a system check for BinaryField to prevent strings defaults.
Thanks Claude Paroz for the initial patch.
This commit is contained in:
parent
dc53f2135b
commit
981dd6dd71
3 changed files with 44 additions and 0 deletions
|
@ -39,6 +39,33 @@ class AutoFieldTests(SimpleTestCase):
|
|||
])
|
||||
|
||||
|
||||
@isolate_apps('invalid_models_tests')
|
||||
class BinaryFieldTests(SimpleTestCase):
|
||||
|
||||
def test_valid_default_value(self):
|
||||
class Model(models.Model):
|
||||
field1 = models.BinaryField(default=b'test')
|
||||
field2 = models.BinaryField(default=None)
|
||||
|
||||
for field_name in ('field1', 'field2'):
|
||||
field = Model._meta.get_field(field_name)
|
||||
self.assertEqual(field.check(), [])
|
||||
|
||||
def test_str_default_value(self):
|
||||
class Model(models.Model):
|
||||
field = models.BinaryField(default='test')
|
||||
|
||||
field = Model._meta.get_field('field')
|
||||
self.assertEqual(field.check(), [
|
||||
Error(
|
||||
"BinaryField's default cannot be a string. Use bytes content "
|
||||
"instead.",
|
||||
obj=field,
|
||||
id='fields.E170',
|
||||
),
|
||||
])
|
||||
|
||||
|
||||
@isolate_apps('invalid_models_tests')
|
||||
class CharFieldTests(SimpleTestCase):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue