私はピストンを使用しており、応答用にカスタム形式を吐き出したいです。
私のモデルは次のようなものです:
class Car(db.Model):
name = models.CharField(max_length=256)
color = models.CharField(max_length=256)
/api/cars/1/ のようなものに GET リクエストを発行すると、次のようなレスポンスを取得したいと考えています。
{'name' : 'BMW', 'color' : 'Blue',
'link' : {'self' : '/api/cars/1'}
}
ただし、ピストンはこれのみを出力します。
{'name' : 'BMW', 'color' : 'Blue'}
つまり、特定のリソースの表現をカスタマイズしたいと考えています。
現在、私のピストン リソース ハンドラは次のようになっています。
class CarHandler(AnonymousBaseHandler):
allowed_methods = ('GET',)
model = Car
fields = ('name', 'color',)
def read(self, request, car_id):
return Car.get(pk=car_id)
そのため、データをカスタマイズする機会がどこにあるのか、実際にはわかりません。JSON エミッターを上書きしなければならない場合を除きますが、それは一筋縄ではいかないようです。