Warum kann ich Einträge nicht ändern

Django, Flask, Bottle, WSGI, CGI…
Antworten
Pitwheazle
User
Beiträge: 869
Registriert: Sonntag 19. September 2021, 09:40

Und wieder was Neues:
Für meine Schülerinnen und Schüler lege ich ein Profil an:

Code: Alles auswählen

class Profil(models.Model):
    user = models.OneToOneField(User, related_name='profil', on_delete=models.CASCADE )
    nachname = models.CharField(max_length=30)
    vorname = models.CharField(max_length=30)
    
    klasse = models.CharField(max_length=10)
    # diese Felder werden erst ausgefüllt, wenn ein Schüler seine Lerngruppe wählt
    schule = models.ForeignKey(Schule, null= True, blank=True, on_delete = models.SET_NULL)
    gruppe = models.ForeignKey(Lerngruppe, null= True, on_delete = models.SET_NULL, related_name='gruppe')
    
    jg = models.PositiveSmallIntegerField(validators=[MinValueValidator(1), MaxValueValidator(10)])
    kurs= models.CharField(max_length=1, choices=wahl_kurs.choices, default=wahl_kurs.E_KURS,)

    # werden beim Erstellen eingestellt
    stufe = models.PositiveSmallIntegerField(default=5) #, editable=False)
    sj = models.SmallIntegerField(default=0)
    hj = models.SmallIntegerField(default=0)

    katmax = models.IntegerField(default=0)                                 # die Zeilennummer die höchsten gewählten Aufgabenkategorie
    voreinst = models.JSONField(null=True, default=dict)
Wenn ich mittels des Adminzugangs dort Daten ändern will, bekomme ich bei einem neuen Eintrag in "gruppe": "---------" angezeigt und in "voreinstellung": "{}". Wenn ich irgend einen Eintrag (z.B. den Namen) ändern will, kann ich dies nicht sichern. Ich bekomme sowohl bei "gruppe" als auch bei "voreinst" die Meldung "Diese Feld ist zwingend erforderlich". Warum das? Erstens steht ja was drin und zweitens habe ich auch "null=True" gesetzt. Oh man!
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

Aus der Hüfte: versuch mal ob blank=True hilft.
Pitwheazle
User
Beiträge: 869
Registriert: Sonntag 19. September 2021, 09:40

OK, aber blank=True wäre doch ein leeres Feld?
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

Ja genau. Ein "leeres" Feld in der eingabe im Admin-Bereich. Und so wie ich dich verstehe, möchtest du das erreichen.
Pitwheazle
User
Beiträge: 869
Registriert: Sonntag 19. September 2021, 09:40

OK, jetzt klappt es - wahrscheinlich sollte ich mir ein anderes Hobby suchen - ich habe aber jetzt schon zu viel Arbeit reingesteckt!
Antworten