Django 表单不插入表单值

Django form not inserting form values

我创建了一个由模型生成的 from。我可以保存表格,但是表格数据没有插入到table。发生插入,但数据为空。任何帮助将不胜感激。

models.py

class HelpDefinition(models.Model):
    org = models.IntegerField(default=0)
    help_type = models.CharField(max_length=255)
    help_content = models.TextField(blank=True)

    def __unicode__(self):
        return self.name

views.py

def index(request, org_id=None):
    help_def = HelpDefinition()

    if org_id:
        help_def = HelpDefinition.objects.get(org=org_id)

    if request.method == 'POST':
        form = FormHelp(request.POST)

        if form.is_valid():
            help_def.save()
            messages.success(request, 'Saved!')
        else:
           messages.error(request, 'Ugh')
    else:
        form = FormHelp(request=request, initial=initial_data)

    return {
        'form': form,
    }

forms.py

class FormHelp(forms.Form):
    org = forms.CharField(widget=forms.HiddenInput, required=True)
    help_type = forms.ChoiceField(abel='Text', required=True)
    help_content = forms.CharField(label='Description', required=True, widget=forms.Textarea)

    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop('request', None)
        super(FormHelp, self).__init__(*args, **kwargs)

由于您不使用ModelForm,您需要一项一项地设置您的属性。

if request.method == 'POST':
    form = FormHelp(request.POST)

    if form.is_valid():
        help_def.org = form.cleaned_data.get("org")
        help_def.help_type = form.cleaned_data.get("help_type")
        help_def.help_type = form.cleaned_data.get("help_content")
        help_def.save()