我有一个使用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是一种更好的方法。
如何在减少请求数量和数据库命中数的同时执行此操作?
干杯, 维克多
答案 0 :(得分:0)
为什么你认为full = True是坏的?
https://django-tastypie.readthedocs.org/en/latest/resources.html#why-resource-uris
除了意识形态,你应该使用适合你的任何东西。如果您更喜欢请求和更少的端点,可以使用full = True,但要注意每种方法的后果。
如果能够干净利落地阅读并且符合您的要求,您可以随心所欲。 “full = True”是开发人员使用的