Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
OpenObject On Python
Python
branch: master

Merge pull request #21 from vaab/fix-typos

Fixed filename typo and removed the bogus PNG file from the README.md
latest commit 4729a8833c
@lasarux authored
Failed to load latest commit information.
artwork
doc initial commit
examples added examples eliminate the io import
.gitignore ADD. Some files to .gitignore
AUTHORS Impulzia is the leader now. :-)
COPYING
MANIFEST.in fix typo in filename MANIFEST.in
README.md removed the 3.4Mb PNG from the README.md that freezed or killed major…
ooop.py minor typo in comment
setup.py
test.py Minor changes in order to work with outdated jython.
test_dot.py eliminate some test files
test_improve.py eliminated print when used as module
test_inherits.py

README.md

Warning: this is a very initial release.

Contacting us:

Discussion group: openerp-ooop Post Issues on github: GITHUB Issues

How to install?

python


$ python setup.py install

jython


$ jython setup.py install

Examples (python console):

Connecting to server


  >>> from ooop import OOOP
  >>> o = OOOP(dbname='demo')

Retrieving all from model


  >>> from ooop import OOOP
  >>> o = OOOP(dbname='demo')
  >>> o.ResPartner.all()

Retrieving 1 record from model


  >>> from ooop import OOOP
  >>> o = OOOP(dbname='demo')
  >>> n = o.ResPartner.get(1)

Accesing attributes


  >>> from ooop import OOOP
  >>> o = OOOP(dbname='demo')
  >>> n = o.ResPartner.get(1)
  >>> print n.name

or in related objects:


  >>> print len(n.address) 
  >>> print n.address[0].name 

Deleting 1 record


  >>> from ooop import OOOP
  >>> o = OOOP(dbname='demo')
  >>> n = o.ResPartner.get(1)
  >>> n.delete()

Deleting multiple records

100 firsts


  >>> from ooop import OOOP
  >>> o = OOOP(dbname='demo')
  >>> n = o.ResPartner.all()
  >>> n[1:100].delete()

all


  >>> n.delete()

Filtering

You can extend arguments using ne, lt, lte, gt, gte, like and ilike:


  >>> o.ResPartner.filter(name='Guido')
  >>> o.ResPartner.filter(name__ne='Guido')
  >>> o.ResPartner.filter(name__lt='Guido')
  >>> o.ResPartner.filter(name__lte='Guido')
  >>> o.ResPartner.filter(name__gt='Guido')
  >>> o.ResPartner.filter(name__gte='Guido')
  >>> o.ResPartner.filter(name__like='Guido')
  >>> o.ResPartner.filter(name__ilike='guido')
  >>> o.ResPartner.filter(id__in=[1,2,5,8])
  >>> o.ResPartner.filter(id__not_in=[1,2,5,8])

Creating new


  >>> n = o.ResPartner.new()
  >>> n.name = 'Partner created with OOOP'
  >>> n.save()

  >>> n = o.ResPartner.new(name='Guido', active=True)
  >>> n.save()

with related objects

To save all related objects of an object:


  >>> n = o.ResPartner.new()
  >>> n.name = 'Partner created with OOOP'

  >>> addr = o.ResPartnerAddress.new()
  >>> addr.street = "Testing related objects"

  >>> n.address.append(addr)
  >>> n.save_all()

  >>> m = [o.ResPartnerAddress.new(name='New Address', street='New Street', active=True)]
  >>> n = o.ResPartner.new(name='Guido', address=m, active=True)
  >>> n.save_all()

Export Graph

Get a model graphviz file in dot, png, jpg or svg:


o.export(filename="file", filetype="dot", showfields=True, model="res.partner", deep=None)

or simply:


o.export("file", "png", False)

also you can do


o.ResPartner.export(filename="file", filetype="png", deep=0)

Also you can generate a jpg file (res.partner.jpg in the example) with just especific table definition


o.ResPartner.export()

but if you want to get deep in the tables just need:


o.ResPartner.export(deep=1)

The deep param its relative to the model param, deep means how far you want to get with the relations.

Something went wrong with that request. Please try again.