私は Django を初めて使用し、tastypie を使用して単純な API を作成しようとしています。あるリソースから別のリソースに関連する情報を表示する適切な方法がわかりません。
モデル.py
class TBucket(models.Model):
name = models.CharField(max_length=50)
bucket_type = models.IntegerField()
bucket_seed = models.DecimalField(null=True, max_digits=10, decimal_places=2)
class Meta:
db_table = u't_bucket'
ordering = ['name']
class TTransaction(models.Model):
bucket = models.ForeignKey(Tbucket)
date = models.DateTimeField()
amount = models.DecimalField(null=True, max_digits=10, decimal_places=2)
account = models.IntegerField()
api.py (スニペット)
class BucketResource(ModelResource):
class Meta:
queryset = TBucket.objects.all()
resource_name = 'bucket'
include_resource_uri = False
allowed_methods = ['get','post','put','delete']
authorization = Authorization()
class TransactionResource(ModelResource):
bucket_name = fields.ToOneField(BucketResource, 'name', null=True)
class Meta:
queryset = TTransaction.objects.all()
resource_name = 'transaction'
include_resource_uri = False
allowed_methods = ['get','post','put','delete']
authorization= Authorization()
DB 内のレコードは次のようになります。
t_bucket
id:1, name:Food, bucket_type:1, bucket_seed:50.00
id:2, name:Gas, bucket_type:1, bucket_seed:25.00
t_transaction:
id:5, bucket_id:1, date:2013-03-31, amount:8.75, account:1
id:6, bucket_id:2, date:2013-04-01, amount:25.50, account:1
トランザクション URL にアクセスすると、[{"id": 1, "bucket_name":null, "date":2013-03-31, "amount":8.75, "account":1},{. ..]
バケットテーブルでルックアップを実行して「名前」を取得し、JSON 応答で返すようにするにはどうすればよいですか?
ありがとう