Mam modelu jak ten z Django 1.1:Czy model.CharField ("blank = False") działa z save()?
class Booking(models.Model):
name = models.CharField(max_length=100)
Domyślnie Czytam, że zarówno „zerowy” i „puste” są fałszywe.
Więc z testu jak to ...
class SimpleTest(TestCase):
def test_booking_save(self):
b = Booking()
b.save()
... Spodziewałem ustawiony rzucić wyjątek. Ale tak nie jest. Wydaje się całkiem szczęśliwy tworzenie nowego rekordu z pustą nazwą (Postgres i SQLite3).
Zauważam, że poprzez interfejs administratora zapisywanie rzeczywiście kończy się niepowodzeniem z "to pole jest wymagane".
Pytania są następujące:
- jest 'pusty' atrybut stosowane jedynie przez formy?
- Czy poprawka ma zastąpić metodę save() i jawnie sprawdzić, czy len (name)! = 0?
- Czy źle zrozumiałem coś, co kiedyś zrozumiało moje nieporozumienie?
Odpowiedzią na tytuł jest "Nie". Wydaje się, że powszechną praktyką jest przyjmowanie prawidłowych danych w modelu i zatwierdzanie formularza. –
http://stackoverflow.com/questions/6940499/how-can-you-create-a-non-empty-charfield-in-django –