Hi Guys,
When a user fill out a form, sometime, he do not put an information.
So, the field is empty.
The result in Django (Reuest.POST Form) is a None value.
Is there a way to change this None value to an empty value : '"" ?
In models ? in forms ?in views ??
Thanks for your help
Hi thais781,
If youâre using a form class this should be done automatically for you if itâs a CharField
as per these docs.
Can you share the form and view for this? And can you determine if the field is being included in the POST? You can find that in the browserâs development toolsâ network panel.
Hi Tim
Thanks for your help
you mean I just have to add ârequired=Falseâ to my models ?
but i hav this error : TypeError: init() got an unexpected keyword argument ârequiredâ
I give you a simplify version(one field for easy reading) of my structure :
models.py
class Peoples_Main(models.Model):
name_last = models.CharField(max_length = 100, blank=True, null=True)
forms.py
class Peoples_Etat_Civil_Form(ModelForm):
class Meta:
model = Peoples_Main
fields = ['name_last']
views.py
my_peoples_etat_civil_form = Peoples_Etat_Civil_Form(instance=my_people_main)
if request.method == 'POST':
my_temp = Peoples_Etat_Civil_Form(request.POST,instance=my_people_main)
if my_temp.is_valid(): my_temp.save()
template.html
<div class="input-group py-1">
{% render_field my_peoples_etat_civil_form.name_last class="form-control" placeholder="[-- Nom --]" %}
</div>
Sorry, I am a french girl so somme word in my code are in french
No worries! I shouldnât have to understand those variables/members to help you.
So what I think is happening is that passing the instance is what is causing the value to be retained as None
rather than be converted to ""
. If youâre trying to default to an empty string, is there a reason why you want that field to support NULLs in the database?
1 Like
Also, in addition to @CodenameTim 's question about the NULLs, can we see the complete view? (My question involves how âmy_people_mainâ is being created or accessed?)