title: Using tastypie resource in view
body: <p>my first question here :</p>
  
  <p>So I'm using tastypie to have api's for my app.</p>
  
  <p>I want to be able to use tastypie to render json and then include that in a django view so that I can bootstrap my app's data.</p>
  
  <p>There is an example of this in django tastypie cookbook here : <a href="http://django-tastypie.readthedocs.org/en/latest/cookbook.html#using-your-resource-in-regular-views">http://django-tastypie.readthedocs.org/en/latest/cookbook.html#using-your-resource-in-regular-views</a></p>
  
  <p>The problem is that I CANNOT get this to work, I've tried variants from simpler to more complex and I just cant get it, here some code for my models :</p>
  
  <pre><code>class ChatMessage(models.Model):
       content = models.TextField()
       added = models.DateTimeField(auto_now_add=True)
  
       author = models.ForeignKey(ChatUser, related_name="messages")
       chat_session = models.ForeignKey(ChatSession, related_name="messages")
       answer_to = models.ForeignKey('self', blank=True, null=True)
  
       flagged = models.BooleanField(blank=True,default=False)
       mododeleted = models.BooleanField(blank=True,default=False)
       mododeleted_by = models.ForeignKey(ChatUser,blank=True,null=True,default=None)
       mododeleted_at = models.DateTimeField(blank=True,null=True,default=None)
       [...]
  
  class ChatSession (models.Model):
      title = models.CharField(max_length=200)
      link_title = models.CharField(max_length=200)
      description = tinymce_models.HTMLField()
      date = models.DateTimeField()
      online = models.BooleanField(default=False)
      next_session = models.BooleanField(default=False)
      meps = models.ManyToManyField(ChatMep)
      uid_newsupdate = models.CharField(max_length=200,blank=True,null=True,default="")
      [...]
  </code></pre>
  
  <p>and my resources :</p>
  
  <pre><code>class ChatMessageResource(MyModelResource):
      chat_session = fields.ForeignKey(ChatSessionResource, 'chat_session')
  
      def renderOne(self,request,pkval):
         data =  self.obj_get(None,pk=pkval)
         dbundle = self.build_bundle(obj=data,request=request)
         return self.serialize(None,self.full_dehydrate(dbundle),'application/json')
  
      def dehydrate(self, bundle):
          bundle.data['likes'] = bundle.obj.get_likes()
          bundle.data['likes_count'] = len(bundle.data['likes'])
          return bundle
  
      class Meta:
          authentication = Authentication()
          authorization = Authorization()
          queryset = ChatMessage.objects.all()
          resource_name = 'message'
          fields = ('content', 'added', 'flagged', 'mododeleted','author','answer_to','chat_session')
          filtering = {
              'chat_session': ALL_WITH_RELATIONS,
          }
  </code></pre>
  
  <p>and my view index :</p>
  
  <pre><code>def index(request):
  
      cur_sess = get_current_chat_session()
  
      data1= ChatMessageResource().renderOne(request,723)
  
      return render_to_response('test.html',
                            { 
                              'all_data' : data1 
                             },
                            context_instance=RequestContext(request))
  </code></pre>
  
  <p>What I want is my renderOne() function to give me the json of ONE ChatMessageResource
  And also I'd like a renderAll() function to gice me ALL (or filtered) ChatMessageResources in json.</p>
  
  <p>And I want to use tastypie internals, I KNOW i could serialize it by myself but that's not the point..</p>
  
  <p>Right now the error is :</p>
  
  <pre><code>NoReverseMatch at /live/
  
  Reverse for 'api_dispatch_detail' with arguments '()' and keyword arguments '{'pk': 14L, 'resource_name': 'session'}' not found.
  </code></pre>
  
  <p>I'm just getting crazy, I've been trying for hours.</p>
  
  <p>So please, how to get ONE/ALL resource as JSON by code using tastypie in a django view !</p>
  
  <p>If It's not clear or I need to clarify, please just ask, thanks</p>
  
  <p>Really what I want to do is to be able to get the JSON returned by an API url I created, but from code, not by visiting the url .. So If I have <code>/api/v1/messages/?chat_session=14</code>  which return a list of messages, I want to be able to do the same by code (and not by fetching the url with curl or something please).</p>
  
  <p>Note :
  definition of ModelResource.obj_get from <a href="https://github.com/toastdriven/django-tastypie/blob/master/tastypie/resources.py">https://github.com/toastdriven/django-tastypie/blob/master/tastypie/resources.py</a></p>
  
  <pre><code>def obj_get(self, request=None, **kwargs):
              """
      A ORM-specific implementation of ``obj_get``.
  
      Takes optional ``kwargs``, which are used to narrow the query to find
      the instance.
      """
              try:
                  base_object_list = self.get_object_list(request).filter(**kwargs)
                  object_list = self.apply_authorization_limits(request, base_object_list)
                  stringified_kwargs = ', '.join(["%s=%s" % (k, v) for k, v in kwargs.items()])
  
                  if len(object_list) &lt;= 0:
                      raise self._meta.object_class.DoesNotExist("Couldn't find an instance of '%s' which matched '%s'." % (self._meta.object_class.__name__, stringified_kwargs))
                  elif len(object_list) &gt; 1:
                      raise MultipleObjectsReturned("More than '%s' matched '%s'." % (self._meta.object_class.__name__, stringified_kwargs))
  
                  return object_list[0]
              except ValueError:
                  raise NotFound("Invalid resource lookup data provided (mismatched type).")
  </code></pre>