Jestem po prostu ciekawy, czy ktoś wie, czy jest dobry powód, dla którego orm django nie wywołuje „full_clean” na modelu, chyba że jest on zapisywany jako część formularza modelu.
Zauważ, że full_clean () nie zostanie wywołana automatycznie po wywołaniu metody save () twojego modelu. Będziesz musiał wywołać to ręcznie, jeśli chcesz przeprowadzić jednoetapową weryfikację modelu dla własnych ręcznie utworzonych modeli. Pełny, czysty dokument django
(UWAGA: aktualizacja cytatu dla Django 1.6 ... poprzednie dokumenty django zawierały również zastrzeżenie dotyczące ModelForms.)
Czy istnieją dobre powody, dla których ludzie nie chcieliby takiego zachowania? Pomyślałem, że gdybyś poświęcił trochę czasu na dodanie walidacji do modelu, chciałbyś, aby weryfikacja była uruchamiana za każdym razem, gdy model jest zapisywany.
Wiem, jak sprawić, by wszystko działało poprawnie, szukam tylko wyjaśnienia.
pre_save
haczyk i zrobić full_clean
na wszystkich złapanych modelach.