Я пытаюсь сохранить новый объект из модели django, используя запрос данных POST. Это часть обработчика PISTON. Я видел это в многочисленных примерах, но просто не могу заставить его работать.
Вот мой код:
class FestHandler(BaseHandler):
model = Deal
def create(self, request):
"""
Creates a new fest.
"""
attrs = self.flatten_dict(request.POST)
postcopy = request.POST.copy()
if self.exists(**attrs):
return rc.DUPLICATE_ENTRY
else:
loc = Location.objects.get(pk=attrs['location'])
postcopy['location'] = loc
fest = Fest(postcopy)
fest.save()
return fest
Вот ошибка, которую я получаю каждый раз:
Exception was: int() argument must be a string or a number, not 'QueryDict'
Я понимаю, что означает ошибка, поэтому в основном я спрашиваю, как я могу сохранить новый "Fest", передавая весь словарь POST без необходимости каждый раз вводить ключи вручную, как показано ниже:
loc = Location.objects.get(pk=attrs['location'])
fest = Fest(
location=loc,
name=attrs['name'],
description=attrs['description'],
details=attrs['details'],
)
Спасибо за вашу помощь!