我尝试了如何保存此代码。它显示了模板中的表单,但是当表单填写并提交数据没有保存到数据库时,这是我的观点。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',
]
所以请帮助我。
答案 0 :(得分:1)
在views.py中,删除instance
和user.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()
我希望这会有所帮助。