【发布时间】:2015-05-04 02:57:05
【问题描述】:
我希望 Django Tastypie 返回由 ForeignKey 过滤的查询。这是我的两个模型:
class Origin(models.Model):
country = models.CharField(max_length=1024)
class Fruits(models.Model):
origin = models.ForeignKey(Origin)
fruit_name = models.CharField(max_length=1024)
is_sweet = models.BooleanField()
quantity = models.IntegerField()
根据文档here,我正在使用以下资源.py:
class FruitResource(ModelResource):
class Meta:
queryset = Fruits.objects.all()
allowed_methods = ['get']
filtering = {
"origin": ('exact',)
}
这是我要访问的 URL:
http://localhost:8000/api/v1/fruit/?format=json&origin__country=Nepal
访问该 URL 会返回以下输出:
{
"meta":
{
"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 2}, "objects":
[
{"fruit_name": "Apple", "id": 1, "is_sweet": true, "quantity": 10, "resource_uri": "/api/v1/fruit/1/"},
{"fruit_name": "Banana", "id": 2, "is_sweet": true, "quantity": 10, "resource_uri": "/api/v1/fruit/2/"}
]
}
我应该提到我使用这个 URL 得到了相同的输出:
http://localhost:8000/api/v1/fruit/?format=json
通过指定 Origin 的 country 属性来获取 Fruits 对象列表的正确方法是什么?
【问题讨论】: