Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
2 Vastaukset
9490 Näkymät

Hello,

I have a class student and my idea is that each time the class gets called I need to insert some data into another table, lets call it logs

The problem is that when I call

logs.create(cr, uid, i, context)

Inside the class student, OpenERP will give me back the error:

unbound method create() must be called with logs instance as first argument (got Cursor instance instead)

I tried changing the cr with logs but it will keep giving me a similar error.

Is is possible to insert records in a table created by another class from within a given class?

Any tip or module with this functionalities will be much appreciated

Avatar
Hylkää
Paras vastaus
def create(self, cr, user, vals, context=None):
    """
    Create a new record for the model.

    The values for the new record are initialized using the ``vals``
    argument, and if necessary the result of ``default_get()``.

    :param cr: database cursor
    :param user: current user id
    :type user: integer
    :param vals: field values for new record, e.g {'field_name': field_value, ...}
    :type vals: dictionary
    :param context: optional context arguments, e.g. {'lang': 'en_us', 'tz': 'UTC', ...}
    :type context: dictionary
    :return: id of new record created

For example we can create the log as

self.pool.get('student.log').create(cr, uid, {'name': 'logname'}, context=context)
Avatar
Hylkää
Tekijä

Thanks a lot!! I was not aware of self.pool.get, I knew it existed but didn't know it was for this use. Thanks a lot for your help and your time!

Paras vastaus

Are you talking about Python classes or OpenERP objects? In both cases it's possible, but not at all in the same way...

Avatar
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
1
maalisk. 15
4059
0
maalisk. 15
3835
4
huhtik. 24
2195
0
huhtik. 19
3184
2
maalisk. 15
3977