Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
1819 Представления

I want to override/extend the execute_import from the model base_import.import.

Base Code:

class Import(models.TransientModel):
​_name = 'base_import.import'

​def execute_import(self, fields, columns, options, dryrun=False):
​//some code
import_result = model.load(import_fields, merged_data)
​return import_result​

From the above code, i want to override and do some of my own logic using 'import_result'.

Here's what I've done(Inherited code):

class Import(models.TransientModel):
​_inherit = 'base_import.import

​def execute_import(self, fields, columns, options, dryrun=False):
​res_import = super(Import, self).execute_import(fields, columns, options, dryrun)
​// here i need to use import_result values
result = import_result.get('ids')​

How to access import_result in inherited method.


Thank you


Аватар
Отменить
Лучший ответ

To override the execute_import method and use the import_result in your inherited method, you need to ensure that you correctly call the super method and then perform your additional logic using the import_result returned by the super method.

Here's how you can achieve that:

class Import(models.TransientModel):
    _inherit = 'base_import.import'

    def execute_import(self, fields, columns, options, dryrun=False):
        # Call the super method and store the result
        import_result = super(Import, self).execute_import(fields, columns, options, dryrun)
        
        # Perform your custom logic with the import_result
        if 'ids' in import_result:
            result_ids = import_result['ids']
            # Your custom logic using result_ids
            # For example, log the imported IDs
            _logger.info(f"Imported IDs: {result_ids}")
        
        # Return the result of the import
        return import_result


Аватар
Отменить
Related Posts Ответы Просмотры Активность
2
мая 25
1255
4
июл. 25
1693
1
июл. 25
924
4
мая 25
4921
1
апр. 25
939