【问题标题】:how to save this form?如何保存这个表格?
【发布时间】:2019-10-26 14:12:06
【问题描述】:

我尝试了如何保存此代码。它在模板中显示表单,但是当填写表单并提交数据时没有保存到数据库中,这是我的views.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',
        ]

请帮帮我。

【问题讨论】:

    标签: django forms view


    【解决方案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()
    

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-11-12
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多