How can I save the data even if their value in a form is null?

别来无恙 提交于 2019-12-12 02:24:54

问题


If I not complete the form for "annoinizio" or "annofine" or "stagioni" or "totepisodi" django plays form.is_valid() and returns False. How can I save the data even if their value is null?

Models:

class Tvserie(models.Model):
        titolo = models.CharField(max_length = 100)
        titolo_originale = models.CharField(max_length = 200)
        annoinizio = models.IntegerField(null=True, blank=True)
        annofine = models.IntegerField(null=True, blank=True)
        stagioni = models.IntegerField(null=True, blank=True)
        totepisodi = models.IntegerField(null=True, blank=True)

Views:

class ContactForm(forms.Form):
        titolo = forms.CharField()
        titolo_originale = forms.CharField()
        annoinizio = forms.CharField()
        annofine = forms.CharField()
        stagioni = forms.CharField()
        totepisodi = forms.CharField()

def  nuovaserie(request):
       if request.method == 'POST':
         form=ContactForm(request.POST)
         if form.is_valid():
           titolo = request.POST.get('titolo','')
           titolo_originale = request.POST.get('titolo_originale','')
           annoinizio = request.POST.get('annoinizio','')
           annofine = request.POST.get('annofine','')
           stagioni = request.POST.get('stagioni','')
           totepisodi = request.POST.get('totepisodi','')
                                
           cont_obj= Tvserie.objects.create(titolo = titolo, titolo_originale = titolo_originale, annoinizio = annoinizio, annofine = annofine, stagioni = stagioni, totepisodi = totepisodi)
           cont_obj.save()
                        
           return HttpResponseRedirect('/risultatonuovaserie/')
       else:
         form=ContactForm()
         return render(request , 'NuovaSerie.html', {'form': form})

Templates:

<form action="/nuovaserie/" method="POST">
  <table border=1>
    <tr>
      <td><label>Titolo*:</label></td>
      <td><input type="text" name="titolo" value="{{titolo}}"></td>
      <td><label>Titolo originale*:</label></td>
      <td><input type="text" name="titolo_originale" value="{{titolo_originale}}"></td>
    </tr>
    <tr>
      <td><label>Anno inizio:</label></td>
      <td><input type="text" name="annoinizio" value="{{annoinizio}}"></td>
	  <td><label>Anno fine:</label></td>
	  <td><input type="text" name="annofine" value="{{annofine}}"></td>
    </tr>
      <td><label>stagioni:</label></td>
	  <td><input type="text" name="stagioni" value="{{stagioni}}"></td>
	  <td><label>totepisodi:</label></td>
	  <td><input type="text" name="totepisodi" value="{{totepisodi}}"></td>
    <tr>								
	  <td colspan="4"><center><input type="submit" value="Invia"></center></td>
    </tr>
  </table>
 </form>

回答1:


I think you are looking to pass the argument 'required=False' for each attribute in your form you don't want to be required. See: https://docs.djangoproject.com/en/1.8/ref/forms/fields/#required.



来源:https://stackoverflow.com/questions/30686089/how-can-i-save-the-data-even-if-their-value-in-a-form-is-null

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!