2012-04-21 7 views
2

私はhandler.pyを作成し、getBooksForUser()メソッドを記述したいと思います。このメソッドは、ユーザーが発行したすべての書籍を返します。 ドキュメントには、django Piston:ハンドラでカスタムメソッドを定義するにはどうしたらいいですか?

があります。他にも、必要な方法を定義することができます。 は、fieldsディレクティブに名前を含めることでこれらを使用でき、 によって、関数は1つの引数で呼び出されます。 インスタンスのモデル。その後、何かを返すことができ、戻り値 の値がそのキーの値として使用されます。

フィールドでは、返信したい本の属性を書いています。メソッド名(getBooksForUser)をここに含めるはずですか?

可能であれば、コードの例を教えてください。

答えて

1

これはカスタムメソッドに関する質問には答えませんが、問題の解決に役立つ可能性があります。

のURL:

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

ハンドラ:

+0

私はこれが好き:

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から例を得ました。このアプローチは、django-pistonがカスタムメソッドをフィールドに追加することを推奨するよりもはっきりと明確ですので、はるかに優れていますか?非常に凝った感じ。 –

関連する問題