Method must be called with Class instance

14 views
Skip to first unread message

Carlos García

unread,
Oct 24, 2016, 11:44:13 AM10/24/16
to django CMS developers
Hi, I'm creating a app which do a request to a API and the result is showing on a web page. My code is this:

Models.py
from django.db import models
from django.template import Template, Context
from django.http import HttpResponse
import requests, json

class HotelService(models.Model):

def getAvailAndRates(getAvailAndRatesRQ):
datos = json.dumps(getAvailAndRatesRQ, ensure_ascii=False)

cabeceras = {
'Content-Type': 'application/json',
'action': 'getavailandrates',
'format': 'json',
'Accept-Encoding': 'gzip'
}
response = requests.post(url, data=datos, headers=cabeceras)

if response.status_code == 200:
results = response.json()
else:
results = "Error"
return results

views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import HotelService
import json


# Create your views here.
def show(request):
rq = {"Credentials": {
'UserName': '*******',
'Languaje': 'es',
'Password': '*******',
},
'GetAvailAndRatesRQ': {
'NotGetCancellationInfoCollection': False,
'GetMultiGroupRates': True,
'RQRec':[{
'HotelCode': 'ROL01',
'RQID': 1,
'RoomRQ': [{
'PaxAgeList':[30,
30,],
'CH': 0,
'RQID': 1,
'AD': 2,
'RoomCode': 'FAM',
'CU': 0,
'NoRooms': 1,
'BoardCode': 'TI',
}]
}],
'NotGetChargeInfoCollection': False,
'PromotionCodeList': [],
'GetPromotionsCollection': True,
'DateTo': '2016-11-5',
'IncludedPromotionsInOnlyBar': False,
'DateFrom': '2016-10-30',
'GetHotelRS': False,
'Languaje': 'es',
'GetHotelDetails': False,
'GetHotelsWithoutAllotment': True,
'OnlyBar': False,
'NotGetDailyPriceCollection': True,
'ExactRoomMatch': False,
'GroupRateList': [],
'CustomerCode': 'WEB',
'Criteria': [],
}
}
product = HotelService.getAvailAndRates(rq)

return HttpResponse(product)

It's giving the error: unbound method getAvailAndRates() must be called with HotelService instance as first argument (got WSGIRequest instance instead).

Tim Graham

unread,
Oct 24, 2016, 2:40:43 PM10/24/16
to django CMS developers
Hi,

This question has nothing to do with django-cms, so in the future please use the https://groups.google.com/forum/#!forum/django-users mailing list, although it's more of a Python question than a Django one.

Anyway, for the solution, please read about @classmethod here: https://docs.python.org/3/library/functions.html#classmethod

Carlos García

unread,
Oct 24, 2016, 2:49:48 PM10/24/16
to django CMS developers

Thank you and sorry.
Reply all
Reply to author
Forward
0 new messages