如何保存此表格?

时间:2019-10-26 14:12:06

标签: django forms view

我尝试了如何保存此代码。它显示了模板中的表单,但是当表单填写并提交数据没有保存到数据库时,这是我的观点。py

def create_tables(request):
    restaurant = Restaurant.objects.get(user=request.user)
    print(restaurant)
    form = TablesForm(request.POST or None)
    if form.is_valid():
        user = form.save(commit=False)
        user.refresh_from_db()
        user.restaurant = restaurant
        user.name = form.cleaned_data.get('name')
        user.time = form.cleaned_data.get('time')
        user.save()
        return redirect('/')

    args = {
        'table': restaurant,
        'form': form
    }
    return render(request, 'main/tt.html', args)

这也是我的forms.py

class TablesForm(forms.ModelForm):
    name = forms.CharField(max_length=250, label="Table Name")
    time = forms.ModelChoiceField(queryset=Time.objects.all())

    class Meta:
        model = Table
        fields = [
            'name',
            'time',
        ]

所以请帮助我。

1 个答案:

答案 0 :(得分:1)

在views.py中,删除instanceuser.refresh_from_db并更改为

 form = TablesForm(request.POST or None)
    if form.is_valid():
        user = form.save(commit=False)
        user.restaurant = restaurant
        user.name = form.cleaned_data.get('name')
        user.time = form.cleaned_data.get('time')
        user.save()

我希望这会有所帮助。