Действительно моделирует. CharField ('blank=False') работают с сохранением ()?

request.POST.getlist('services')
6
задан Jonathan Leffler 7 September 2013 в 22:46
поделиться

2 ответа

UPDATE: See the model validation documentation in recent Django versions.

Original answer: blank=True/False only applies to forms. Data validation currently only happens at the form level; this will change when the model-validation Google Summer of Code work gets merged in to trunk.

The only kind of validation that currently happens at the model layer is whatever errors your database backend will throw if it can't handle what it gets. In the case of an empty CharField you'll generally never get errors from the database, as Django sets the field to an empty string by default.

For now, you should use the save() method for any model-level validation you want. Soon (if you're on trunk) or when 1.2 comes out, use the model validation stuff.

5
ответ дан 17 December 2019 в 02:31
поделиться

Из Django Docs :

«Обратите внимание, что значения пустой строки всегда сохраняются как пустые строки, а не как NULL. Используйте null = True только для не- строковые поля, такие как целые числа, логические значения и даты. "

Ваш код хранит пустую строку.

Чтобы проиллюстрировать это, попробуйте:

class SimpleTest(TestCase):
    def test_booking_save(self):
        b = Booking()
        b.name = None
        b.save()
1
ответ дан 17 December 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: