0

这是我的问题。

我有一个这样的模型

class ActionQueue(models.Model):
    action_type = models.CharField(max_length=30, choices=ACTION_QUEQUE_TYPE)

    def execute(self):
        if self.action_type == 'exam':
                ... do something ...

为每个 ActionQueue 实例执行“执行”函数的最佳方法是什么?目前我正在使用 for..in:

 for action in ActionQueue.objects.all():
     action.execute()

也许有更好的方法(在性能方面)来达到相同的结果..

谢谢

4

1 回答 1

1

我想你想要的是

actions = ActionQueue.objects.filter(action_type='exam')

然后

actions.update(...)

或者

action_list = list(actions)
# do something with action_list
[do_something(action) for action in action_list]
于 2012-08-22T00:45:43.890 回答