2014-10-18 3 views
0

Я пытаюсь написать функцию, которая примет class имя аргумента и импортирует этот класс и выполнит некоторую задачу.Импорт класса из пакета python во время выполнения

def search(**kwargs): 
    """ 
    :return: 
    """ 

    try: 
     model = __import__('girvi.models', globals(), locals(), kwargs['model_name'], -1) 
     # Do some task 
     return results 
    except Exception: 
     raise Exception('Model not found') 

Но дело model имеет класс, который в kwargs['model_name'] успешно импортирован, но как я к нему доступ. Пожалуйста, кто-нибудь может мне помочь.

+0

Не работает ... ''модуль' объект не вызываем' –

+0

Прошу прощения, я все еще не мог понять, что именно вы пытаетесь сделать. – thefourtheye

+0

Если я попробую это, тогда он работает отлично 'print model.Customer.objects.all()' Но тогда в чем смысл всего этого. –

ответ

1

Я хотел бы попробовать следующее:

По __import__ скорее следует использовать importlib.import_module.

Смежные вопросы