El 29/09/15 a les 20:12, Antonio Roncero ha escrit:
Hola,a partir de una sugerencia del foro estoy intentado usar el tipo de campo fields.Reference. He tomado como base el modulo ir.attachment que lo usa y teniendo un codigo así | ... type = fields.Reference('Type', selection='models_get', select=True) # Es copiado del ir.attachment @staticmethod def models_get(): pool = Pool() Model = pool.get('ir.model') ModelAccess = pool.get('ir.model.access') models = Model.search([]) # hacer mas adelante la busqueda segun 'name' para que solo aparezcan los que quiero access = ModelAccess.get_access([m.model for m in models]) res = [] for model in models: if access[model.model]['read']: res.append([model.model, model.name]) return res | Me lanza una excepcion en la linea Model = pool.get('ir.model') | [Tue Sep 29 14:09:09 2015] ERROR:trytond.protocols.dispatcher:Exception calling model.service.service.fields_view_get from 1@::1:41673/onneo_20150706 Traceback (most recent call last): File "/home/dev/tryton/trytond/protocols/dispatcher.py", line 161, in dispatch result = rpc.result(meth(*c_args, **c_kwargs)) File "/home/dev/tryton/trytond/model/modelview.py", line 239, in fields_view_get result['field_childs']) File "/home/dev/tryton/trytond/model/modelview.py", line 300, in _view_look_dom_arch if not ModelAccess.check_relation(cls.__name__, name, mode='read'): File "/home/dev/tryton/trytond/ir/model.py", line 567, in check_relation selection = sel_func() File "/home/dev/tryton/trytond/modules/service/service.py", line 17, in models_get Model = pool.get('ir.model') File "/home/dev/tryton/trytond/pool.py", line 168, in get return self._pool[self.database_name][type][name] KeyError: 'test_003' | siendo 'test_003' el nombre de la base de datos. No se a que puede ser debido porque coger el ir.model es como coger cualquier otro modelo. ¿Alguna pista?
Tiene pinta que en la tabla ir.model tienes registrado el model test_003 que no tienes en el código actual.
De todos modos, si sólo quieres poder relacionar el reference con unos modelos específico mejor que cojas cómo ejemplo el campo origin del los Asientos contables.
Un saludo, -- Sergi Almacellas Abellana www.koolpi.com Twitter: @pokoli_srk
