如何在django中将数据添加到数据库中?
我在如何解决此问题方面遇到问题…请帮助我摆脱此错误…它还正在打印值,并且数据库表已创建。以下是我的代码和错误,类似于异常值: save()缺少1个必需的位置参数:“self”如何在django中将数据添加到数据库中?,django,Django,我在如何解决此问题方面遇到问题…请帮助我摆脱此错误…它还正在打印值,并且数据库表已创建。以下是我的代码和错误,类似于异常值: save()缺少1个必需的位置参数:“self” //This is my model.py file rom django.db import models class Reg(models.Model): name = models.CharField(max_length=20) //this is my form.py file from djan
//This is my model.py file
rom django.db import models
class Reg(models.Model):
name = models.CharField(max_length=20)
//this is my form.py file
from django import forms
class RegistrationForm(forms.Form):
name = forms.CharField()
//this is my view.py file
from django.shortcuts import render
from .forms import RegistrationForm
from .models import Reg
def ragistration(request):
if request.method == "POST":
form = RegistrationForm(request.POST)
if form.is_valid():
Reg.name = form.cleaned_data.get('name')
Reg.save()
print(Reg.name)
else:
form = RegistrationForm()
return render(request, 'registration/reg.html', {"form": form})
//I got this error
Exception Value:
save() missing 1 required positional argument: 'self'
您没有创建类
Reg
的实例。试试这个
reg = Reg()
reg.name = form.cleaned_data.get('name')
reg.save()
我们必须只在模型类的实例上调用save方法。我们可以使用模型形式来简化它 forms.py views.py
在这里你可以做几件事 1:使用模型表格代替表格
class RegistrationForm(forms.ModelForm):
class Meta:
model = Reg
fields = ['name']
2:在您看来,请注意表单。_valid()部分:
from django.http import HttpResponse
from .forms import RegistrationForm
def ragistration(request):
if request.method == "POST":
form = RegistrationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponse("Object Saved")
else:
form = RegistrationForm()
return render(request, 'registration/reg.html', {"form": form})
class RegistrationForm(forms.ModelForm):
class Meta:
model = Reg
fields = ['name']
def ragistration(request):
if request.method == "POST":
form = RegistrationForm(request.POST)
if form.is_valid():
form.save()
print(form.name)
else:
form = RegistrationForm()
return render(request, 'registration/reg.html', {"form": form})