Django 如何检索刚在Tastypie中创建的对象
使用Tastypie和Django用户流,我试图构建一个活动提要。我已成功构建了以下偏好功能:Django 如何检索刚在Tastypie中创建的对象,django,backend,tastypie,Django,Backend,Tastypie,使用Tastypie和Django用户流,我试图构建一个活动提要。我已成功构建了以下偏好功能: class LikeResource(ModelResource): user = fields.ForeignKey(BasicUserResource, 'user', full=True) class Meta: queryset = Journalist.objects.all() allowed_methods = ['get', 'put'] resource_
class LikeResource(ModelResource):
user = fields.ForeignKey(BasicUserResource, 'user', full=True)
class Meta:
queryset = Journalist.objects.all()
allowed_methods = ['get', 'put']
resource_name = 'like'
fields = ['user']
default_format = "application/json"
authorization = Authorization()
authentication = BasicAuthentication()
serializer = Serializer(formats=['json'])
always_return_data = True
include_resource_uri = False
def hydrate(self, bundle):
shot = LifeShot.objects.all().get(id = bundle.data['post id'])
if(bundle.obj.likes.filter(id = bundle.data['post id']).exists()):
bundle.obj.likes.remove(shot)
else:
bundle.obj.likes.add(shot)
user_doing_the_liking=User.objects.get(username=bundle.request.user.username)
user_getting_liked = shot.journalist.user
user_streams.add_stream_item(user_getting_liked, '%s liked your shot %s %s' % (bundle.request.user.username, shot.url, datetime.datetime.utcnow()))
return bundle
def dehydrate(self, bundle):
shot = LifeShot.objects.all().get(id = bundle.data ['post id'])
user_getting_liked = shot.foodie.user
likeitems = user_streams.get_stream_items(user_getting_liked)
list = ''
for likeitem in likeitems:
list = list + likeitem.content +', '
bundle.data['likestream'] = list
return bundle
现在评论一张照片,这是我到目前为止得到的:
class CommentEntryResource(ModelResource):
user = fields.ForeignKey(BasicJournalistResource, 'user', full =True)
picture = fields.ForeignKey(BasicLifeShotResource, 'picture', full=True)
class Meta:
queryset = Comment.objects.all()
allowed_methods = ['post', 'get','put']
resource_name = 'comment'
fields = ['comment', 'picture', 'user']
authorization = Authorization()
authentication = BasicAuthentication()
serializer = Serializer(formats=['json'])
include_resource_uri = False
always_return_data = True
filtering = {
'picture': ALL_WITH_RELATIONS,
}
def hydrate_user(self, bundle):
bundle.data['user'] = Journalist.objects.get(user = bundle.request.user)
return bundle
现在唯一的区别是,Tastypie创建了一个新的注释对象。我如何检索那个comment对象并用Django用户流实现它,以便在我的提要中显示“User1对您的快照发表了评论:看起来不错!”
Django用户流:
Tastypie:尝试以下方式:
bundle.data['user'] = Journalist.objects.get(user = bundle.obj.user)
bundle.obj
将为您提供注释
模型对象。您可以通过bundle.obj.user
获取用户