django 模型请求获取 id 错误房间匹配查询不存在

Dro*_*oid 1 django django-queryset models python-3.x

我有两个模型,当我执行 request.POST.get('room_id') 或 ('id') 时,我收到一个错误房间匹配查询不存在。如何解决这个问题?帮我

    教室(模型。模型):
        status = models.BooleanField('Status',default=True)
        name = models.CharField('Name', max_length=100, unique=True)

    类书(模型。模型):
        date = models.DateTimeField('Created',auto_now_add=True)
        from_date = models.DateField('签到')
        to_date = models.DateField('退房')
        room = models.ForeignKey(Room, related_name='booking')

我需要详细的房间请求获取 ID,预订日期范围(from_date,to_date)

def room_detail(请求,pk):
    房间 = get_object_or_404(房间,pk=pk)
    如果 request.method == 'POST':
        form = BookForm(request.POST,room=room)
        如果 form.is_valid():
            s = form.save(commit=True)          
            s.save()
            返回重定向(请求。路径)
    别的:
        表单 = BookForm()

    #roomid = Room.objects.values('id')
    type = request.POST.get('id') # 或 get('room_id')
    rooms = Room.objects.get(id=type)

    start_dates = rooms.booking.values_list('from_date',flat=True)
    end_dates = rooms.booking.values_list('to_date',flat=True)
    日期 = [start + timedelta(days=i) for start, end in zip(start_dates,end_dates) for i in range((end-start).days+1)]

    c = {}
    c['形式'] = 形式
    return render_to_response('rooms_detail.html',c)

请帮助我,提前致谢

Abh*_*hek 5

移动你的线条

#roomid = Room.objects.values('id')
type = request.POST.get('id') # or get('room_id')
rooms = Room.objects.get(id=type)
Run Code Online (Sandbox Code Playgroud)

在 post 方法中。

if request.method == 'POST':
    form = BookForm(request.POST,room=room)
    if form.is_valid():
        #roomid = Room.objects.values('id')
        type = request.POST.get('id') # or get('room_id')
        rooms = Room.objects.get(id=type)
        s = form.save(commit=True)          
        s.save()
        return redirect(request.path)
Run Code Online (Sandbox Code Playgroud)