私はこれらの2つのリソースを使用してRESTfulAPIを構築しました(tastypieを使用):
class PhotographerResource(ModelResource):
album = fields.ToManyField('core.api.AlbumResource', 'album_set')
class Meta:
queryset = Photographer.objects.all()
resource_name = 'photographer'
authorization = Authorization()
class AlbumResource(ModelResource):
artist = fields.ForeignKey(PhotographerResource, 'photographer', full=True)
class Meta:
queryset = Album.objects.all()
resource_name= 'albums'
authorization = Authorization()
アクセスする/api/v1/albums/1
と、次の結果が得られます。
{
"album": ["/api/v1/albums/4/", "/api/v1/albums/5/"],
"photographer_name": "Jimi Hendrix",
"photographer_thumbnail": "http://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Katatonia_in_2004.jpg/300px-Katatonia_in_2004.jpg",
"biography": "Jimmi Hendrix is an awesome musician man...",
"id": "1",
"page_link": "http://ahmetkaya.com/",
"resource_uri": "/api/v1/artists/1/",
"slug": "jimi-hendrix"
}
これで、Backbonejsであるフロントエンドで、写真家のアルバムを取得するときに、album
オブジェクト、fetch
つまりサーバーからのデータを作成して、ビューにレンダリングする必要があります。今私の質問は、この方法(サーバーに多くのリクエストを送信する)はページの読み込みを遅くし、UXとアプリのパフォーマンスに悪影響を与えませんか?リソース間の関係を設計するためのより良い方法はありますか?または、RESTful APIをとを処理するDjangoビューに置き換える方が良いですsave
かfetch
、それともこれは「適切な」方法ではありませんか?学習中は規則とベストプラクティスに従いたいのですが、Backbonejsには実際には規則がないようです。
ありがとう