Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何检索刚在Tastypie中创建的对象_Django_Backend_Tastypie - Fatal编程技术网

Django 如何检索刚在Tastypie中创建的对象

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_

使用Tastypie和Django用户流,我试图构建一个活动提要。我已成功构建了以下偏好功能:

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
获取用户