Помогите, други.
Сделал REST ресурс ля модели с помощью tastypie.
Получилось примерно так:
class Order(models.Model):
ticketTotalPrice = models.IntegerField(db_column='Ticket_Total_Price', verbose_name='Общая стоимость билетов')
totalPrice = models.IntegerField(db_column='Total_Price', verbose_name='Общая стоимость заказа')
... тут куча полей
def __unicode__(self):
return u'№%s от %s на %s руб.' % (self.id, self.created, self.totalPrice)
class Meta:
app_label = "crm"
и ресурс для модели
class OrdersResources(ModelResource):
class Meta:
queryset = Order.objects.filter(checked=True)
resource_name = 'orders'
allowed_methods = ['post']
authorization = Authorization()
def hydrate(self, bundle):
bundle.obj.ticketPrice = u'800'
bundle.obj.ticketTotalPrice = 3200
... тут этой куче полей присваиваются свойства
return bundle
Все работает и модель сохраняется в БД. Но мне надо чтоб сервис в ответе выдал бы id добавленного объекта. Для этого делаю always_return_data = True, и тогда сервис выдает ошибку UnicodeDecodeError. Дебагер показал что ошибка возникает в методе unicode, из-за того что у объекта нет id, но объект сохраняется при этом. Подскажите, что делаю не так. Думаю в моделе что-то, т.к. на тестовой модели always_return_data = True отрабатывает нормально.