2

我创建了一个 handler.py 并想编写一个方法:getBooksForUser()。此方法将返回用户发行的所有书籍。文档说:

除了这些,您还可以定义您想要的任何其他方法。您可以通过将它们的名称包含在 fields 指令中来使用它们,并且这样做,将使用单个参数调用该函数:模型的实例。然后它可以返回任何东西,并且返回值将用作该键的值。

在字段中,我已经写了我想要返回的书籍的属性。我应该只在此处包含方法名称(getBooksForUser)吗?

如果可能的话,请给我一个代码示例。

4

1 回答 1

1

我知道这不能回答有关自定义方法的问题,但可能有助于解决您的问题。

网址:

(r'^books\.json$', Resource(BookHandler)),
(r'^books/(?P<user_id>[0-9]+)\.json$', Resource(BookHandler)),

处理程序:

   from piston.handler import BaseHandler
   from myapp.models import Book

   class BookHandler(BaseHandler):
      allowed_methods = ('GET',)
      model = Book   

      def read(self, request, user_id=None):
          base = Book.objects
          if user_id:
              return base.filter(user_id=user_id)
          return base.all()

我从这里的文档中得到了例子:

于 2012-08-23T08:58:14.003 回答