通常のdjangoビューで、より大きなjson応答にtastypieリソースを含めようとして問題が発生しています。ビューが次のようなものを返すようにしたいと思います(典型的なtaspypie get paramsからではなく、ビューで生成されたクエリセットに基づいています):
{
"success": bool,
"message": string,
"error": string,
"objects": [
{
"field_one": bar,
"field_two": foo
}
... more objects ...
]
}
ここで、objects list はシリアル化された Tastypie リソースのリストであり、成功、メッセージ、およびエラーはビューの別の場所から来ています。
現在、より大きな辞書が構築される前に、シリアル化されたリソースを文字列に変換することを回避する方法がわかりません。現在、次のようなものがあります。
{
"success": bool,
"message": string,
"error": string,
"objects": [
"{"field_one": bar, "field_two": foo..."}",
"{"field_one": baz, "field_two": foobar..."}",
...
]
}
これの要点は、モデルの json 表現の一貫性を保ち、tastypie API を直接使用することと、これらのビューで返されるデータを使用することの間の摩擦を最小限に抑えることです。解決策は、各リソースをシリアル化せずに full_dehydrate メソッドを使用し、それらをより大きな辞書に追加してから、その辞書をシリアル化することだと考えていますが、どのシリアライザーを使用するかわかりません。または、もっと良い方法があるかもしれません。