Python 创建模型实例时django中的TypeError

Python 创建模型实例时django中的TypeError,python,django,django-models,Python,Django,Django Models,我有一个模型在线预订,我试图保存用户输入的数据。但是,我在/在线预订时收到错误类型错误/ onlinebooking()获得意外的关键字参数“name”。我在单击“注册”按钮后出现此错误 这是我的模型: class onlinebooking(models.Model): name = models.CharField(max_length=30) email = models.CharField(max_length=30) phone_number = models.

我有一个模型在线预订,我试图保存用户输入的数据。但是,我在/在线预订时收到错误类型错误/ onlinebooking()获得意外的关键字参数“name”。我在单击“注册”按钮后出现此错误

这是我的模型:

class onlinebooking(models.Model):
    name = models.CharField(max_length=30)
    email = models.CharField(max_length=30)
    phone_number = models.IntegerField()
    room_type = models.CharField(max_length=10)
    booking_date = models.DateField()
views.py

from django.shortcuts import render,redirect
from .models import onlinebooking

def onlinebooking(request):
    if request.method == "POST":
        name = request.POST['Name']
        email = request.POST['email']
        phone_number = request.POST['phone_no']
        room_type = request.POST['room_type']
        booking_date = request.POST['booking_date']
        online = onlinebooking(name=name,email=email,phone_number=phone_number,room_type=room_type,booking_date=booking_date)
        online.save()
        return redirect('/')
    else:
        return render(request,'hotel/onlinebooking.html')

使用的表格:

 <form action="/onlinebooking/" method="post">
                                        {% csrf_token %}
                                        <div class="text-primary">
                                            <div class="form-row">
                                                <div class="form-group col-md-6">
                                                    <label for="inputEmail4">Name</label>
                                                    <input type="text" class="form-control" id="inputEmail4" name="Name" required>
                                                </div>
                                                <!-- <div class="form-group col-md-6">
                                                    <label for="lastname">Last name</label>
                                                    <input type="text" class="form-control" id="lastname"
                                                        name="lastname" required>
                                                </div> -->
                                                <div class="form-group col-md-6">
                                                    <label for="inputPassword4">Email</label>
                                                    <input type="text" class="form-control" id="inputPassword4" name="email" required>
                                                </div>
                                                <div class="form-group col-md-6">
                                                    <label for="inputPassword4">Phone no</label>
                                                    <input type="text" class="form-control" id="inputPassword4" name="phone_no" required>
                                                </div>
<div class="form-group col-md-6">
                                                    <label for="inputState">Room Type</label>
                                                    <select id="inputState" class="form-control" name="room_type">
                                                        <option selected>Standard</option>
                                                        <option>Delux</option>
                                                        <option>Premium</option>
                                                    </select>
                                                </div>
                                                <div class="form-group col-md-6">
                                                    <label for="bookingtime">Booking Date</label>
                                                    <input type="date" id="bookingtime" name="booking_date" required>
                                                </div>
<div class="text-center">
                                                    <input type="submit" value="Register" name="submit-emp" class="btn btn-primary col-sm-3 btn-user ">
                                                </div>`

{%csrf_令牌%}
名称
电子邮件
电话号码
房间类型
标准
骗局
保险费
预订日期
`

我猜我的模型有一些错误,因为我可以访问用户的所有条目。我认为这是我这边的愚蠢错误。请帮帮我。:)

您正在使用此文件本身中的类名覆盖导入名称。 试试这个:

从django.shortcuts导入渲染,重定向
从…起导入模型
def在线预订(请求):
如果request.method==“POST”:
name=request.POST['name']
email=request.POST['email']
电话号码=请求。张贴['phone\u no']
房间类型=请求.发布['room\u type']
预订日期=请求。发布['booking\u date']
在线=型号。在线预订(姓名=姓名,电子邮件=电子邮件,电话号码=电话号码,房间类型=房间类型,预订日期=预订日期)
online.save()
返回重定向(“/”)
其他:
返回渲染(请求'hotel/onlinebooking.html')

是否可以删除
名称=
,对所有变量执行此操作。只需传递如下值:在线预订(姓名、电子邮件、电话号码、房间类型、预订日期)您是否应用了迁移?可能它还不在模型中。我在/onlinebooking/onlinebooking()处得到错误
TypeError,它接受1个位置参数,但给出了5个
。我试图将name作为唯一的参数传递,这给了我一个错误``if request.method=='POST':AttributeError:'str'对象没有属性'method'```是的,我已经应用了迁移。