Funktioniert die create
-Funktion nicht gemäß den Modellspezifikationen? Hier ist mein Modell:Django validiert nicht beim Erstellen?
class Contact(models.Model):
id = models.AutoField(primary_key=True)
firstname = models.CharField(max_length=100, null=False, blank=False)
lastname = models.CharField(max_length=100, null=False, blank=False)
email = models.EmailField(max_length=150, blank=False, null=False)
active = models.BooleanField(default=True)
Und ich benutze diese Funktion in meinem view
:
new_contact = Contact.objects.create(firstname=a,
lastname=b,
email=c)
# where a, b, & c are empty strings in request.POST, which shouldn't validate
Der Aufruf von create
durchläuft, ohne ein Problem. Aber das sollte nicht der Fall sein. Das Modell spezifiziert diese Felder nach Bedarf. In der Tat, wenn ich zum Admin-Panel gehe und dieses Objekt anschaue, kann ich es nicht speichern (ohne irgendwelche Änderungen vorzunehmen), weil es mich schreit, dass die Felder benötigt werden.
Ist das normale Verhalten für create
nicht gültig?
Wie kann ich die Validierung erzwingen?
@ e4c5 Ja, ich habe ein Formular erstellt, aber das hat mein Problem nicht gelöst. An dieser Stelle akzeptiere ich einfach mehrere Formulare in einer Ansicht. Es zwingt den Benutzer, eine Seitenaktualisierung durchzuführen, um dem Hauptmodell, das erstellt wird, zusätzliche Informationen hinzuzufügen, die ich nicht mag. – smilebomb