【发布时间】:2012-09-03 17:52:54
【问题描述】:
我正在使用 tasstypie 创建一个 API,并且我想在评论资源中检索用户昵称。评论资源发送 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')
tastepie 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
这会从“用户”变量中的 UserResource 获取 uri。 如何通过 CommentResource 的 dehydrate 方法访问用户昵称?
谢谢
【问题讨论】:
-
我解决了这个问题。解决方案在 ToOneFiel 方法中设置为 full=True。这将返回 UserResource 的所有信息,而不仅仅是 URI。
-
我猜你也可以使用 bundle.obj.user.nick。
-
您可以添加一个正确的答案,这样问题就不会显示为未回答。