我有两种方法编写的代码,我看到它们都有缺陷。有没有其他的方法来写这个,或者是一种方法比另一种更“正确”?在
def functionOne(subscriber):
try:
results = MyModelObject.objects.filter(
project__id=1,
status=MyModelObject.STATUS.accepted,
subscriber=subscriber).values_list(
'project_id',
flat=True).order_by('-created_on')
except:
pass
^{pr2}$
这是有效的代码,这是不正确的代码,我撕了一个类似的代码块来举例说明对象.过滤器第节。请不要浪费时间评论代码的其他部分。我将try/except放在那里,以强制缩进将某些元素推到新行上(80列)
我会这样做:
使用缩进使层次结构更具可读性。然而,这个代码不是特别好。在视图中直接使用这样的代码应该被视为反模式。对于这种重复出现的代码,
Manager
s模型可能是一个更好的选择。在您可能需要阅读http://dabapps.com/blog/higher-level-query-api-django-orm/
相关问题 更多 >
编程相关推荐