2013-09-09 6 views
0

Я пытаюсь получить значение, полученное с клиентской стороны, чтобы сравнить его с хешированным значением, совпадающим с именем пользователя.Гидрат не называется

Вот вызов:

http://localhost:8000/api/user/?format=json&name__exact=jean&nickname__exact=mynickname 

Вот мой ресурс:

class MUserResource(ModelResource): 
    class Meta: 
     queryset = MUser.objects.all() 
     resource_name = 'user' 
     filtering = { 
      'name': ['exact'], 
      'nickname': ['exact'], 
     } 

    def dehydrate_nickname(self, bundle): 
     bundle.data['nickname'] = hashlib.sha1(bundle.data['nickname']).hexdigest() 
     return bundle.data['nickname'] 

Любые намеки?

ответ

1

Вы хотите использовать dehydrate_foo, а не hydrate_foo. Гидрат используется, когда вы де-сериализуете свои входящие данные.

+0

Использование работы по обезвоживанию, но дало мне ошибку шины: 10 при попытке вызвать этот URL-адрес. –

+0

Вы не должны это понимать. Что-то может быть вяло связано с вашей установкой. Вы на OSX? –

+0

Да, сейчас все в порядке. Глупая ошибка на моей стороне. Мой вопрос в том, что на самом деле, я думаю, я неправильно понял гидрат/обезвоживание. Предположим, я отправил простой пароль в сети (для примера), по просьбе моего API. На стороне сервера, прежде чем собираться проверить мою модель, я хочу хэш равное значение, которое я получил. Итак, скажем, я перерабатываю тест как поле, и мне нужно хешировать его, чтобы проверить, существует ли он, потому что моя база данных содержит хешированные значения. Разве он не должен использовать гидрат? –

Смежные вопросы