我创建了一个handler.py并想编写一个方法:getBooksForUser()。此方法将返回用户发出的所有书籍。 文档说:
除此之外,您还可以定义所需的任何其他方法。您 可以通过在fields指令中包含它们的名称来使用它们 这样做,将使用单个参数调用该函数: 模型的实例。它可以返回任何东西,然后返回 value将用作该键的值。
在字段中,我已经写了我想要返回的书籍的属性。我应该只在这里包含方法名称(getBooksForUser)吗?
如果可能,请给我一个代码示例。
答案 0 :(得分: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()
我从文档here获得了示例: