Моя модель:
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'}
Я застрял здесь несколько часов и действительно не понимаю, в чем причина этой проблемы. Любая помощь, пожалуйста, будет потрясающей.
Спасибо за ваш повтор. Действительно ? Я так не думал, потому что у меня уже есть другие поля blank = True, и я могу получить их с помощью cleaned_data. Я попробую удалить пустое и посмотрю, работает ли это
Даже если я удалил пустое, у меня всегда будет одна и та же проблема
вы запускали миграции?
да. makemigrations и миграция
Пожалуйста, добавьте html вашей формы!





Я обнаружил, в чем была моя проблема:
в моем 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>
Спасибо всем за их повторы.
Поскольку
ville- этоblank=True, он не включен в форму и по умолчаниюNone.