ユーザー名を取得できるように、Django認証ユーザーへの外部キーを持つモデルをシリアル化するにはどうすればよいですか? これは私がTastypieで試したことです:
def dehydrate(self, bundle):
posts = Post.objects.annotate(num_poster = Count('likedby')).order_by('-num_poster')
specificpost = posts.get(id__exact=bundle.data['id'])
likedList = specificpost.likedby.all()[:7]
liked_data = serializers.serialize('python', likedList, fields=('user__username', 'userPic'), use_natural_keys=True)
liked_actual = [d['fields'] for d in liked_data]
bundle.data['likepreview'] = liked_actual
return bundle
取得した JSON では、userPic フィールドを確認できますが、username フィールドがありません。なぜですか?
{
"meta": {
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total_count": 17
},
"objects": [{
"id": "19",
"liked": 0,
"likepreview": [{
"userPic": "http://s3.amazonaws.com/post/mike/profile/photo/mikeProfilePic.jpg"
}