Свържете OpenERP с mysql с помощта на cr?

Бих искал да получа някои данни от mysql в OpenERP.

По един начин мога да го направя така:

#!/usr/bin/python
import MySQLdb

# connect
db = MySQLdb.connect(host="localhost", user="appuser", passwd="",
db="onco")

cursor = db.cursor()

# execute SQL select statement
cursor.execute("SELECT * FROM LOCATION")

# commit your changes
db.commit()

# get the number of rows in the resultset
numrows = int(cursor.rowcount)

# get and display one row at a time.
for x in range(0,numrows):
    row = cursor.fetchone()
    print row[0], "-->", row[1]

от Как да се свържа с MySQL база данни в Python?

Но може би е по-интелигентен начин да го направите? Да използвам cr като стандартен OpenERP обект?


person Community    schedule 30.04.2014    source източник


Отговори (1)


Вашият начин е добър, но:

  1. Нямате нужда от db.commit() след SELECT. Необходимо е само ако промените нещо в базата данни.

  2. Вместо да получите броя на редовете и for x in range(0, numrows), можете да използвате for x in cursor.fetchall():. За да получите само n елемента, можете да използвате cursor.fetchmany(n).

person Lukasz Puchala    schedule 04.05.2014