如何使TastyPie fields.foreignkey仅返回与资源uri或完整对象相关的某些字段

时间:2015-02-13 22:04:01

标签: django tastypie

我有一个TastyPie资源设置来返回数据库中的所有引号。每个引号都与Django用户有外键关系。

class QuoteResource(ModelResource):
    user = fields.ForeignKey(UserResource, 'user')

class Meta:
    queryset = Quote.objects.all().order_by('-created')
    limit = 0
    max_limit = 0
    resource_name = 'quotesreport'
    allowed_methods = ['get']
    authentication = BasicAuthentication()
    authorization = DjangoAuthorization()
    always_return_data = True

def dehydrate(self, bundle):
    return bundle

这会将带有用户设置的引用返回给资源uri,这对我实现的目标几乎没有帮助。

我试图在用户上设置full = True,但不幸的是,这会将响应时间杀死到无法使用的级别,并且因为有4k +的结果并且每天都在增长,所以在服务器上放置太多。

理想情况下我想:

bundle.data['user'] = "%s %s" % (user.first_name, user.last_name)

有没有办法让我无法完成看似简单的任务呢?

1 个答案:

答案 0 :(得分:1)

bundle.data['user'] = "%s %s" % (user.first_name, user.last_name)有什么问题?

您还可以查看我写的这个基类。有了它,您可以指定要获取的字段:

https://github.com/dan-klasson/django-tastypie-specified-fields