Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
7164 มุมมอง

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 ตอบกลับ มุมมอง กิจกรรม
How does Odoo store One2Many fields? แก้ไขแล้ว
4
ก.ย. 24
21273
0
พ.ย. 16
3481
1
ธ.ค. 16
5022
4
ธ.ค. 24
30764
Odoo Table Name แก้ไขแล้ว
1
เม.ย. 20
12723