Overslaan naar inhoud
  • +31 653-919-302
Cafayate.Net
  • 0
  • 0
  • Aanmelden
  • Nederlands English (US) Español (AR)
  • Contact
  • Startpagina
  • Blog
  • Vacatures
  • Contact
Cafayate.Net
  • 0
  • 0
    • Startpagina
    • Blog
    • Vacatures
    • Contact
  • +31 653-919-302
  • Nederlands English (US) Español (AR)
  • Aanmelden
  • Contact

ORM Methods in OpenERP

  • Alle blogs
  • Tech Blog
  • ORM Methods in OpenERP
  • 5 maart 2021 in
    Administrator

    Every object in OpenERP is based on OSV i.e Object Service and this service implements full Object-Relational Mapping enabling developers not to worry for the simple SQL operations.

    In OpenERP, we have such ORM methods that are very useful. Here are the few basic methods:

      1. read(cr, uid, ids, fields=None, context=None): returns a list of dictionaries with field values.
    1. res = self.read(cr, uid, [5,6],[‘name’, ‘partner_id’])
    2. print ‘Partner:’, res[0][‘partner_id’]
    1. write(cr, uid, ids, values, context=None): updates a record with provided values.
      1. for line in self.browse(cr, uid, ids, context=context):
      2. if set_total:
      3. self.pool.get(‘add.penalty’).write(cr, uid, [line.id], {‘name’: line.name})
    2. search(cr, uid, values, args, offset=0, limit=None, order=None, context=None, count=False): returns list of ids (tuple) on search criteria
      1. seq_id = self.pool.get(‘ir.sequence’).search(cr, uid, [(‘name’,’=’,’Sales Journal’)])[0]
    3. copy(cr, uid, id, defaults, context=None): duplicates a record with default values
      1. def copy(self, cr, uid, id, default=None, context=None):
      2. default = default or {}
      3. default.update({‘invoice_ids’ : []})
      4. return super(res_partner, self).copy(cr, uid, id, default, context)
    4. unlink(cr, uid, values, context=None): deletes a record with given id or ids
      1. account_move_obj.unlink(cr, uid, move_ids, context=context)
    5. create(cr, uid, values, context=None): creates a new record with given values and returns the newly created record id
      1. partner_id = self.create(cr, uid,
      2. { ‘name’: ‘XYZ’,
      3. ‘description’ : ‘Contact’,
      4. ‘phone’: 123456,
      5. })
    6. browse(cr, uid, values, context=None): retrieves records with required fields, returns a list of records
      1. invoice = self.pool.get(‘account.invoice’)
      2. cr.execute(“select * from account_invoice where state = ‘open’ and payment_term > 0 and cash_credit=’Credit Memo'”)
      3. invoices = invoice.browse(cr, uid, map(lambda x: x[0], cr.fetchall()) )

    For more you can visit OpenERP ORM Methods

    in Tech Blog
    Node-Odoo

    Ontworpen voor bedrijven

    We zijn een team van gepassioneerde mensen met als doel levens te verbeteren met vernieuwende producten. We ontwikkelen geweldige oplossingen voor al je zakelijke uitdagingen. Onze producten zijn ontworpen voor kleine tot middelgrote bedrijven die hun prestaties willen optimaliseren.

    Neem contact op

    Plantexel
    Pedernera
    Salta Capital 
    Argentina

    • +31 653-919-302
    • [email protected]
    Volg ons
    Copyright © Plantexel
    Nederlands | English (US) | Español (AR)