Django: Даже если моя форма действительна, некоторые поля были пустыми при печати cleaned_data

Моя модель:

class sarl(models.Model):
    denomination_social = models.CharField(max_length=200,blank=True)
    numero_certificat = models.CharField(max_length=15,blank=True)
    myfile = models.FileField(blank=True)
    adresse = models.CharField(max_length=250,blank=True)
    activite = models.CharField(max_length=100,blank=True)
    objet = models.CharField(max_length=100,blank=True)
    autreactiv = models.CharField(max_length=1000,blank=True)
    ville = models.CharField(max_length=20,blank=True, null=True)
    exercice_dip = models.BooleanField(default=False,blank=True)
    capital_social=models.FloatField(max_length=15,blank=True)
    gerant_representant = models.ForeignKey(PerP,on_delete=models.CASCADE,blank=True, null=True)
    gerant_sep = models.ForeignKey(gerant_separe,blank=True, null=True,on_delete=models.CASCADE)
    Typesarl = models.BooleanField(default=False,blank=True)
    nbr_associe = models.CharField(max_length=6,default="--")
    nbr_gerants = models.CharField(max_length=6,default="--")

Моя модель формы:

class sarlform(forms.ModelForm):
    nbr_associe = forms.ChoiceField(choices=NBR_ASSOCIE, widget=forms.Select(attrs={'onchange':'NbrAssocie()'}),required = False)
    autreactiv = forms.CharField(widget=forms.Textarea(attrs={'cols': 80, 'rows': 7}))

    class Meta:
        model = sarl
        fields = (
            'denomination_social', 'numero_certificat', 'adresse',
            'activite', 'autreactiv', 'capital_social', 'nbr_associe',
        )

когда я хочу опубликовать очищенные данные моей формы на моем views.py, моя форма действительна, и я получаю все данные моих полей, но я не получаю adresse поле.

def saveToBase(request):
    form = sarlform(request.POST)
    if form.is_valid(): 
        print(request.POST.get('CuisineList'))
        print("sarl form is valid !")
        print(form.cleaned_data)
        print(request.POST['adresse'])
        form.save()  

Вот что я получаю от печати очищенных данных:

{'denomination_social': 'fkrbvirbv', 'numero_certificat': 'bybyb',
 'adresse': '', 'ville': None, 'activite': 'gggg', 'autreactiv': 'gregetg',
 'capital_social': 140000.0, 'nbr_associe': '2'}

Я застрял здесь в течение нескольких часов, и действительно не понимаю, что является причиной этой проблемы. Любая помощь, пожалуйста, было бы здорово.

1 ответ

Я обнаружил, где моя проблема: в моем HTML я позвонил Adresse а также ville два раза, поэтому, когда я отправляю очищенные данные, он принимает только значение по умолчанию

Моя HTML-форма была:

<div id="domiciliation" style="display: none">
                    <p>Adresse : {{form.adresse}}</p>
                    <p>Ville : {{form.ville}}</p>
                </div>
<div id="siege_social" style="display: none">
                    <p>Adresse : {{form.adresse}}</p>
                    <p>Ville : {{form.ville}}</p>
                </div>

когда я создавал разные поля для второго div, он работал как показано ниже:

<div id="domiciliation" style="display: none">
                        <p>Adresse : {{form.adresse}}</p>
                        <p>Ville : {{form.ville}}</p>
                    </div>
 <div id="siege_social" style="display: none">
                    <p>Adresse : {{form.aad}}</p>
                    <p>Ville : {{form.vi}}</p>
                </div>

Я хотел бы поблагодарить всех за их повторы.

Другие вопросы по тегам