Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django中将数据添加到数据库中?_Django - Fatal编程技术网

如何在django中将数据添加到数据库中?

如何在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

我在如何解决此问题方面遇到问题…请帮助我摆脱此错误…它还正在打印值,并且数据库表已创建。以下是我的代码和错误,类似于异常值:

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 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})