Django Modellform NICHT benötigt Feld


Answers

class My_Form(forms.ModelForm):
    class Meta:
        model = My_Class
        fields = ('first_name', 'last_name' , 'address')

    def __init__(self, *args, **kwargs):
        super(My_Form, self).__init__(*args, **kwargs)
        self.fields['address'].required = False
Question

Ich habe eine Form wie folgt:

class My_Form(ModelForm):
    class Meta:
        model = My_Class
        fields = ('first_name', 'last_name' , 'address')

Wie kann ich das Adressfeld als optional angeben?




@ Anentropics Lösung aus dem Kommentar zu @ Atmas Antwort funktionierte für mich. Und ich denke, es ist auch das Beste.

Sein Kommentar:

null = True, blank = True bewirkt, dass das ModelForm-Feld erforderlich ist = False

Ich habe es einfach auf mein ManyToMany-Feld in meiner UserProfile Klasse gesetzt und es funktionierte einwandfrei.

Meine UserProfile Klasse sieht jetzt so aus (beachten Sie das Feld friends ):

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    friends = models.ManyToManyField('self', null=True, blank=True)

Ich denke auch, dass dies die schönste Lösung ist, da du das Gleiche tust, setze null und blank auf True , wenn du ein einfaches char Feld hast oder, wie ich, ManyToMany .

Nochmals vielen Dank @Anentropic. :)

PS Ich schrieb dies als Post, da ich nicht kommentieren konnte (ich habe weniger als 50 Reputation), aber auch, weil ich denke, dass sein Kommentar mehr Aufmerksamkeit benötigt.

PPS Wenn diese Antwort Ihnen geholfen hat, machen Sie bitte seinen Kommentar.

Prost :)




Related