我创建了一个 handler.py 并想编写一个方法:getBooksForUser()。此方法将返回用户发行的所有书籍。文档说:
除了这些,您还可以定义您想要的任何其他方法。您可以通过将它们的名称包含在 fields 指令中来使用它们,并且这样做,将使用单个参数调用该函数:模型的实例。然后它可以返回任何东西,并且返回值将用作该键的值。
在字段中,我已经写了我想要返回的书籍的属性。我应该只在此处包含方法名称(getBooksForUser)吗?
如果可能的话,请给我一个代码示例。
我创建了一个 handler.py 并想编写一个方法:getBooksForUser()。此方法将返回用户发行的所有书籍。文档说:
除了这些,您还可以定义您想要的任何其他方法。您可以通过将它们的名称包含在 fields 指令中来使用它们,并且这样做,将使用单个参数调用该函数:模型的实例。然后它可以返回任何东西,并且返回值将用作该键的值。
在字段中,我已经写了我想要返回的书籍的属性。我应该只在此处包含方法名称(getBooksForUser)吗?
如果可能的话,请给我一个代码示例。
我知道这不能回答有关自定义方法的问题,但可能有助于解决您的问题。
网址:
(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()
我从这里的文档中得到了例子: