获取具有相关对象的对象列表

时间:2011-12-07 06:06:01

标签: python

我在数据库外创建了两个对象。一个是SERVICES,一个是MODULES

我希望能够获得与某项服务相关的所有MODULES。例如,对于下面的示例,我想发出一个命令,基本上说“使用关键FACEBOOK获取与服务相关的模块对象列表”并让它返回最后两个Module对象。

class Module(object):

    def __init__(self, key, service, name):
        self.key = key
        self.service = service
        self.name = name

ALL_MODULES = [
    Module(
        'TWT',
        SERVICES['TWITTER'],
        'Twitter Tweets',
    ),
    Module(
        'FBC',
        SERVICES['FACEBOOK'],
        'Facebook Comments',
    ),
    Module(
        'FBP',
        SERVICES['FACEBOOK'],
        'Facebook Posts',
    ),
]

#dict of the above list
MODULES = dict([(s.key, s) for s in ALL_MODULES])

1 个答案:

答案 0 :(得分:3)

我认为SERVICES会返回Service - 具有name - 属性的类。如果这是真的,那么您可以获得与服务相关的所有模块(例如FACEBOOK):

serviceModules = [m for m in ALL_MODULES if m.service.name == 'FACEBOOK']