openerp scaffold openerp-8 odoo

openerp - python odoo bin scaffold



Odoo-¿Andamios? (14)

Ahora odoo 10 o la versión posterior usa odoo-bin en lugar de odoo.py

  1. En el shell o terminal, cambie el directorio a su carpeta odoo. Tal vez esté en /opt/odoo , o tal vez esté en /home/odoo :

    cd /opt/odoo

  2. Crea un nuevo módulo usando el script odoo.py:

    ./odoo.py scaffold my_new_module ./addons/

(donde my_new_module es el nombre de su nuevo módulo, y ./addons/ es el directorio de complementos de Odoo)

  1. Edite el archivo ./addons/my_new_module/__openerp__.py.

    nano ./addons/my_new_module/__openerp__.py

  2. Cambie el campo de nombre para establecer un nombre fácil de usar para su módulo (por ejemplo, "Nuevo módulo de Andrius"). Cambia la descripción y los campos también. Y agregue los módulos necesarios, como ''correo'', a la lista de dependencias de módulos depende.

    ''depends'': [''base'', ''mail''],

  3. Editar modelos.py

    nano ./addons/my_new_module/models.py

  4. Agregue código en su archivo my_new_module / models.py, por ejemplo:

from openerp import models, api class FooterlessNotification(models.Model) _inherit = ''mail.notification'' @api.model def get_signature_footer(self, user_id, res_model=None, res_id=None, context=None, user_signature=True): return ""

(Como ejemplo, este código extenderá el modelo ''mail.notification'' y reemplazará su método get_signature_footer por uno que devuelve un pie de página vacío).

  1. Instale su módulo a través de la configuración de Odoo.

Para encontrarlo, es posible que deba usar la opción "Actualizar lista de módulos".

Si tampoco puede encontrar la opción "Actualizar lista de módulos", es posible que deba habilitar la casilla de verificación "Características técnicas" en la configuración actual del usuario.

Para mostrar los Módulos, no solo las Aplicaciones, elimine la etiqueta "Aplicaciones" del filtro del cuadro de búsqueda, haciendo clic en la pequeña "x" antes de la etiqueta.

Leí here que puede hacer un andamio de un módulo usando un comando, por lo que no necesitará crear manualmente algunos archivos iniciales. Pero este comando no funciona en el maestro (en la rama de desarrollo de Odoo):

./oe scaffold Academy ../my-modules

Porque no hay tal archivo llamado oe en el directorio de openerp. ¿Cambió esto en la versión más reciente? ¿Cómo puedo andar un módulo en Odoo?


¿Se instaló como fuente o paquete?

Por fuente necesitas hacer

./odoo.py scaffold [module_name] [where_to_put_it]

si necesitas hacer un paquete

odoo.py scaffold [module_name] [where_to_put_it]

[where_to_put_it] generalmente es la ruta de tus complementos, la ruta de tus complementos puede variar de acuerdo con tu método de instalación.

No es necesario crear el módulo en la carpeta de complementos. Pero se recomienda hacerlo. Puedes agregar la nueva ruta de complementos

odoo.py --addons-path=[where_to_put_it]

Para la reference estructura del módulo y para la construcción de un módulo.


./"path al archivo odoo.py "/odoo.py scaffold my-module ./"path para su nuevo complemento" /

Reemplaza Qoutes con tu camino.


Aqui esta mi respuesta

cd path/to/odoo/odoo-server/

entonces

./odoo-bin scaffold new_module_name /path/to/custom/addons

Ahora revisa / path / to / custom / addons, verás un nuevo módulo donde puedes comenzar a agregarte cosas.


Desde la documentación de odoo, la forma correcta de crear un módulo es la siguiente:

odoo.py scaffold [name of module] [desired path of module]

También te recomiendo que utilices diferentes rutas de complementos para tu módulo y no uses odoo / addons, puedes crear un nuevo directorio donde quieras y luego agregar este directorio a la configuración de odoo o ejecutar odoo con este complemento desde el inicio

odoo.py --addons-path=[full path to your dir]


En algunos casos, es necesario pasar el archivo de Odoo python a la aplicación de Python para ejecutar.

python odoo.py scaffold modulename addons-path


He instalado ODOO 9 en AWS en el directorio / opt / odoo.

Así que primero cambio de directorio:

cd /opt/odoo

luego ejecutado:

odoo.py scaffold modulename ./addons/

da el siguiente mensaje de error:

odoo.py command not found

El comando correcto que funciona para mí es:

sudo python odoo.py scaffold modulename ./addons/

Espero que esto ayude.


Ir a Terminal e ingresar el siguiente comando:

cd path/to/your/odoo-version/ ./odoo-bin scaffold new_module /path/to/your/odoo-version/addons

Luego vaya a goto / path / to / your / odoo-version / addons y actualice, puede ver que "new_module" estará presente.


Puede usar ./odoo-bin scaffold nombre_módulo / odoo / odoo-server / addons /

o

./odoo-bin andamio nombre_módulo / odoo / odoo-server / custom_addons /

Aquí custom_addons es su directorio en odoo-server /

cmd en Odoo10:

./odoo-bin scaffold <module_name> <destination path where you want to create>


Si está utilizando odoo-10 u 11 en lugar de usar ./oe scaffold Academy ../my-modules use: ./odoo-bin scaffold new_module /path/to/your/odoo-version/addons

y si está utilizando odoo8, es decir, openerp8, use el odoo.py scaffold <module name> <where to put it>

pero asegúrese de que está en la ubicación correcta en el directorio. También puede encontrar el tutorial aquí en el enlace: https://www.odoo.com/documentation/8.0/howtos/backend.html

--Gracias

ABhay S


Te sugiero para el primer paso para clonar Git odoo. Cree un directorio / carpeta y Git clone odoo en su directorio / carpeta. Después de esa ejecución, Python odoo.py scaffold addons test123. Ponga o módulo en el directorio / carpeta complementos para asegurarse, odoo se puede leer su módulo.


Use odoo.py lugar de oe :

./path/to/odoo/odoo.py scaffold my-module


Otra version

/###### begin ######## import sys from openerp.cli import scaffold sf = scaffold.Scaffold() sf.run (sys.argv[1:]) /####### end #########

Guarde el script en la parte superior de su carpeta de openerp . Luego ejecuta con:

$ python (your-script-name) --help

o:

$ python (the-script-name) --init Academy --dest my-modules --model academy --controller academy --web --theme


Puede ser que este código ayude . Guárdalo como moe.py o lo que quieras.

from openerp.cli import scaffold sf = scaffold.Scaffold() #sf.run(["--help"]) sf.run (["--init","Academy","--model","academy","--controller","academy","--web","--theme"])

Todavía soy nuevo en la programación de Python. Si alguien pudiera mejorar la forma de enviar argumentos a la función run() , sería genial.