Tasty-Pie - 拉入相关领域,不使用full = True?

时间:2012-11-02 20:19:06

标签: python django rest tastypie python-requests

我有一个使用Python请求来查询启用了Tasty-Pie的Django应用程序的应用程序。

我有一个名为Application的模型,带有相应的Tasty-Pie资源。

此模型/资源有几个将应用程序链接到其他模型的外键(例如二进制,主机,主机托管等)

我正在使用Tasty-Pie过滤器来获取应用程序的子集,然后我想打印一个很好的应用程序表,以及这些相关模型中的一些字段。

现在,我正在使用以下内容获取应用程序表:

def get_applications(self, parsed_args):
    r = requests.get('http://foobar.com:8000/api/v1/application/?name__iregex={0}&format=json'.format(parsed_args.applications))
    print(r.url)
    return r  
def application_iter(self, parsed_args):
    for application in self.get_applications(parsed_args).json['objects']:
        yield (application['name'], application['author'], application['some_other_field'])
def take_action(self, parsed_args):
    return(('Name', 'Author', 'Some Other Field),
            self.application_iter_iter(parsed_args),
        )

我的问题是,推荐所有相关领域的“推荐”或惯用方法是什么?有没有办法扩展上面这样做?

我觉得full=True是一种不好的做法,使用资源URI是一种更好的方法。

如何在减少请求数量和数据库命中数的同时执行此操作?

干杯, 维克多

1 个答案:

答案 0 :(得分:0)

为什么你认为full = True是坏的?

https://django-tastypie.readthedocs.org/en/latest/resources.html#why-resource-uris

  

除了意识形态,你应该使用适合你的任何东西。如果您更喜欢请求和更少的端点,可以使用full = True,但要注意每种方法的后果。

如果能够干净利落地阅读并且符合您的要求,您可以随心所欲。 “full = True”是开发人员使用的