Le he agregado la siguiente línea a la ruta 
@app.route('/add', methods=['GET', 'POST','PUT'])

Pero sigue desplegando la siguiente salida en el log 

uwsgi[7071]: File 
"/opt/cr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/cursor.py", 
line 263, in execute
uwsgi[7071]: self._pq_execute(self._query, conn._async)
uwsgi[7071]: File 
"/opt/cr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/cursor.py", 
line 696, in _pq_execute
uwsgi[7071]: self._pq_fetch()
uwsgi[7071]: File 
"/opt/cr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/cursor.py", 
line 757, in _pq_fetch
uwsgi[7071]: raise self._conn._create_exception(cursor=self)
uwsgi[7071]: InternalError: cannot execute nextval() in a read-only 
transaction

Creo que es un problema con permisos dentro de tryton, pero no sé como 
otorgarle los mismos. 

El lunes, 15 de enero de 2018, 17:03:09 (UTC-6), raimonesteve escribió:
>
>
>
> 2018-01-15 22:11 GMT+01:00 Josias Pérez <[email protected] <javascript:>>:
>
>> Hola amigos,
>>
>> Estoy trabajando en una app desde flask para enviar datos a tryton como 
>> backend. 
>>
>> Tengo el siguiente código: 
>>
>> from flask import render_template, flash, redirect, url_for
>> from app import app
>> from app import tryton 
>>
>> User = tryton.pool.get('res.user')
>> Party = tryton.pool.get('party.party')
>>
>> @tryton.default_context
>> def default_context():
>> return User.get_preferences(context_only=True)
>>
>> @app.route('/admin')
>> @tryton.transaction()
>> def hello():
>> user, = User.search([('login', '=', 'admin')])
>> return '%s, Hello World!' % user.name
>>
>> @app.route('/add')
>> @tryton.transaction()
>> def add():
>> party1, = Party.create([{
>>                     'name': 'Party 1',
>>                     }])
>> return "Done"
>> #InternalError: cannot execute nextval() in a read-only transaction
>>
>> La ruta de /admin funciona bien, y devuelve el valor esperado, pero el 
>> ruta de add me devuelve InternalError: cannot execute nextval() in a 
>> read-only transaction. 
>>
>
>> ¿Cuál sería la forma correcta de enviar datos a tryton desde una 
>> aplicación externa en flask?
>>
>
> si usas el GET, la transación es sólo lectura.
> si deseas agregar datos, debes hacer un POST o PUT.
>
> http://flask.pocoo.org/docs/0.12/quickstart/
>  
>
>> Gracias desde ya 
>>
>
>
>

Responder a