Tastypie を使用して、関連するレコード ID (外部キー参照) の値を返すように最善を尽くしています。デフォルトでは、外部キーは結果から除外されます。
次のモデルがあります。
class Category(models.Model):
"""Finance category"""
class Meta:
db_table = 'category'
parent = models.ForeignKey('self')
name = models.CharField(max_length=32)
TYPES = (
('outcome', 'outcome'),
('income', 'income'),
)
type = models.CharField(max_length=7,choices=TYPES)
created_at = models.DateTimeField()
updated_at = models.DateTimeField()
created_by = models.ForeignKey(User, db_column='created_by', related_name='createdCategories')
updated_by = models.ForeignKey(User, db_column='updated_by', related_name='updatedCategories')
ここには 2 つの関係があります。parent
再帰関係です (カテゴリ ツリー テーブルです)。created_by
ユーザーとの関係です。API は次の値を返します: * id * name * created_at * updated_at * type * resource_uri
Tastypieがparent(_id)またはcreated_by(または任意の外部キー)を返すようにするにはどうすればよいですか?
以下は、別のOSの質問から試したものです。
class IncomeCategoryResource(ModelResource):
parent_id = models.IntegerField(attribute="parent_id")
class Meta:
queryset = Category.objects.filter(type='income')
残念ながら、API 全体が失敗します。
__init__() got an unexpected keyword argument 'attribute'
attribute
また、 kwarg をに置き換えようとしましたdb_column
。これは単に無視されます。
お願い助けて :)