Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
7175 Переглядів

Hello, I am trying find a way to not store a couple character fields.  This field is used for processing information, but I do not want it to be stored on the actual database.  Right now I have the store=False attribute set on the field definition, but it still stores the value on the table.  I tried using the dummy field, but all it does is pass in False to the method that processes the information.  Right now, I clear the data from the column in the table after it's processed, but I would like to not store a column for this field at all.  Thank you

Аватар
Відмінити
Найкраща відповідь

Attribute store in field doesn't designed that why (for osv.osv model). If your class inherit from osv.osv I think you can't do what you want to do. Have you consider using osv.osv_abstract?
 

Аватар
Відмінити
Автор

I haven't heard of the osv.osv_abstract. What does that do?

it's AbstractModel (https://github.com/odoo/odoo/blob/9f214223ea1ebdb0b666ee41f14ea823453ec415/openerp/osv/osv.py#L32). Here 's inline documentation https://github.com/odoo/odoo/blob/9f214223ea1ebdb0b666ee41f14ea823453ec415/openerp/models.py#L5853-L5865

Найкраща відповідь

Hi Eric,

Just use the fields.function and make your character field not store into database.

for ex here I am going to make one 'note' field with type character and it will not store into database.

'note' : fields.function( _note_field, string="Note", type="char", size=128, store=False)

def _note_field(self, cr, uid, ids, context={})

    res = {}

    for id in ids:

    # your code for proceessed to get this field information

        res[id] = ' processed data'

    return res

By this way you will get your field with character type and it will not store into database. I hope it will help you.

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
4
вер. 24
21275
0
лист. 16
3497
1
груд. 16
5025
4
груд. 24
30783
Odoo Table Name Вирішено
1
квіт. 20
12727