Высушить класс вкусняшек с помощью данных из связанного ресурса?

Я создаю API с tasstypie и хочу получить ник пользователя в ресурсе комментариев. Ресурс комментария отправляет user_uri, но я не могу обезвожить информацию, чтобы добавить также имя пользователя.

Модели:

class User(models.Model):
    nick = models.CharField(max_length = 255)

class Comment(models.Model):
    name = models.CharField(max_length = 511)
    user = models.ForeignKey(User, related_name='comments')

Вкусный API:

class CommentResource(ModelResource):
    user = fields.ToOneField(UserResource, 'user')


class Meta:
    queryset = Comment.objects.all()
    resource_name = 'comment'
    serializer = Serializer(formats=['json'])
    allowed_methods = ['get']
    always_return_data=True

def dehydrate(self, bundle):
    bundle.data['nick_user'] = #here I want to send user nick
    return bundle

это получает uri из UserResource в переменной «пользователь». Как я могу получить доступ к нику пользователя из метода дегидратации из CommentResource?

Спасибо


person Juanma Jurado    schedule 03.09.2012    source источник
comment
Я решаю проблему. Решение устанавливается full=True в методе ToOneFiel. Это возвращает всю информацию о UserResource, а не только URI.   -  person Juanma Jurado    schedule 04.09.2012
comment
Я думаю, вы также можете использовать bundle.obj.user.nick.   -  person kgr    schedule 05.09.2012
comment
И вы можете добавить правильный ответ, чтобы вопрос не отображался как оставшийся без ответа.   -  person kgr    schedule 05.09.2012


Ответы (1)


Почему вместо того, чтобы коснуться всего метода обезвоживания, вы не используете dehydr_user(self, bundle) и не возвращаете bundle.obj.nick?

person Alex Botev    schedule 06.09.2012
comment
Благодарить !! Это хорошая идея, но я решаю проблему с помощью 'user = fields.ToOneField(UserResource, 'user', full=True)'. В этом решении у меня есть вся информация о пользователе, а не только ник. - person Juanma Jurado; 06.09.2012