Feldvalidierung für Django-Modelle ohne benutzerdefiniertes Formular

Ich verwende ein Django DateField in meinem Modell.

class CalWeek(models.Model):
  start_monday = models.DateField(verbose_name="Start monday")

Ich habe eine benutzerdefinierte Überprüfungsmethode, die spezifisch für mein modelField ist: Ich möchte sicherstellen, dass es tatsächlich ein Montag ist. Ich habe derzeit keinen Grund, eine benutzerdefinierte ModelForm im Admin zu verwenden - die, die Django generiert, ist in Ordnung. Erstellen einer benutzerdefinierten Formularklasse, nur damit ich das verwenden kannclean_start_monday(self)1 Zucker, den Django Form-Klassen bereitstellen, scheint eine Menge Arbeit zu sein, nur um eine Feldvalidierung hinzuzufügen. Mir ist klar, dass ich es kannÜberschreiben Sie die saubere Methode des Modells und erhöhe aValidationError Dort. Dies ist jedoch nicht ideal: Diese Fehler werden als Nicht-Feldfehler zugeordnet und landen oben auf der Seite, nicht neben der problematischen Benutzereingabe - keine ideale UX.

Gibt es eine einfache Möglichkeit, ein bestimmtes Modellfeld zu validieren und Ihre Fehlermeldung neben dem Feld im Administrator anzuzeigen, ohne eine benutzerdefinierte Formularklasse verwenden zu müssen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage