Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

Creazione modulo

Avatar
Fabio

Salve, sono nuovo nel contesto di odoo, dovrei sviluppare una tesi che consiste nella creazione di un modulo. Sto cercando di creare dei moduli semplici in maniera da capire a pieno le varie funzionalità. Creando un modulo semplice, una sorta di gestione libreria, ho riscontrato problemi nell'istallazione del modulo con errori nel codice che non riesco a capire. Premetto che mi ha dato problemi con l'aggiunta di un ulteriore modello.

Errore:
Odoo Server Error

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1037, in _validate_fields
    check(self)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 342, in _check_xml
    self.postprocess_and_fields(view.model, view_doc, view.id)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 1064, in postprocess_and_fields
    self.raise_view_error(message, view_id)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 519, in raise_view_error
    raise ValueError(message)
ValueError: Il campo `category_id` non esiste

Contesto errore:
Vista `library.book.form.view`
[view_id: 238, xml_id: n/d, model: library.book, parent_id: n/d]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 745, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 655, in _tag_record
    id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_model.py", line 1502, in _update
    record = record.create(values)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 408, in create
    return super(View, self).create(self._compute_defaults(values))
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3402, in create
    self._fields[key].determine_inverse(record)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1078, in determine_inverse
    getattr(records, self.inverse)()
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 273, in _inverse_arch
    view.write(data)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 424, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3109, in write
    self._write(old_vals)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3277, in _write
    self._validate_fields(vals)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1041, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Errore durante la validazione del vincolo\n\nIl campo `category_id` non esiste\n\nContesto errore:\nVista `library.book.form.view`\n[view_id: 238, xml_id: n/d, model: library.book, parent_id: n/d]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 651, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 693, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 937, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 938, in call_button
    action = self._call_kw(model, method, args, {})
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 689, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 680, in call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-42>", line 2, in button_immediate_install
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\module\module.py", line 72, in check_and_log
    return method(self, *args, **kwargs)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\module\module.py", line 450, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\module\module.py", line 552, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 85, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 380, in load_modules
    loaded_modules, update_module, models_to_check)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 274, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 181, in load_module_graph
    _load_data(cr, module_name, idref, mode, kind='data')
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 95, in _load_data
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 792, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 853, in convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 752, in parse
    exc_info[2]
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 86, in reraise
    raise value.with_traceback(tb)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 745, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 655, in _tag_record
    id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_model.py", line 1502, in _update
    record = record.create(values)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 408, in create
    return super(View, self).create(self._compute_defaults(values))
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3402, in create
    self._fields[key].determine_inverse(record)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1078, in determine_inverse
    getattr(records, self.inverse)()
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 273, in _inverse_arch
    view.write(data)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 424, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3109, in write
    self._write(old_vals)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3277, in _write
    self._validate_fields(vals)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1041, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Errore durante la validazione del vincolo

Il campo `category_id` non esiste

Contesto errore:
Vista `library.book.form.view`
[view_id: 238, xml_id: n/d, model: library.book, parent_id: n/d]
None" while parsing file:/c:/program files (x86)/odoo 11.0/server/odoo/addons/helloworld3/views/book_view.xml:4, near
<record id="library_book_form_view" model="ir.ui.view">
        <field name="name">library.book.form.view</field>
        <field name="model">library.book</field>
        <field name="arch" type="xml">
            <form string="Book">
                <sheet>
                    <field name="image"/>
                    <group>
                        <field name="name"/>
                        <field name="active"/>
                        <field name="image"/>
                        <field name="pages"/>
                        <field name="isbn"/>
                        <field name="category_id"/>
                    </group>
                    <group>
                        <field name="sesso" widget="radio"/>
                    </group>
                </sheet>
            </form>
      </field>
    </record>e. vi reposto il risultato 


Grazie in anticipo


2 commenti
Avatar
Abbandona
Avatar
Davide Corio
-

Oltre a quanto detto da Alex aggiungo, assicurati di aver riavviato Odoo. Altrimenti lui cerca di aggiungere alla vista un campo che non è stato aggiunto al db. Il codice Python richiede un restart del server

Avatar
Fabio
-

Si Davide, ho riavviato il server ma continua a dare lo stesso errore

1 risposta
1
Avatar
Alex Comba
Migliore risposta

Ciao,

la parte significativa dell'errore è questa:

Il campo `category_id` non esiste
Contesto errore:Vista `library.book.form.view`[view_id: 238, xml_id: n/d, model: library.book, parent_id: n/d]

Controlla che nel model library.book sia presente il field category_id!

41 commenti
Avatar
Abbandona
Avatar
Fabio
-

Controllo ed eventualmente ti reposto il risultato

Avatar
Fabio
-

Questo è il codice di library_book:

from odoo import models, fields

class libraryBook(models.Model):

_name = 'library.book'

_description = 'Library'

name = fields.Char(string="Name")

active = fields.Boolean("Is active", default=True)

image = fields.Binary()

pages = fields.Integer(string="Pages")

isbn = fields.Char(string="ISBN", size=13)

sesso = fields.Selection(

string="sesso",

selection=[('M', 'Uomo'), ('F', 'Femmina')])

category_id = fields.Many2one("library.category", string="Category")

Avatar
Fabio
-

A quanto pare mi installa il modulo, ma se cerco di accedere a category mi da errore

Avatar
Alex Comba
-

il model 'library.category' è importato nel modulo? se sì, riavvia Odoo prima di aggiornare il modulo.

Avatar
OdooBot Italia
-
Devo importarlo nel modulo library_book o in __init__ ?

Il giorno ven 31 mag 2019 alle ore 10:56 Alex Comba <catchall@odoo-italia.org> ha scritto:

il model 'library.category' è importato nel modulo? se sì, riavvia Odoo prima di aggiornare il modulo.


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Alex Comba
-

se il model 'library.category' è specificato in un file diverso da quello dove hai definito il model 'library.book', nel file __init__ dovrai importare entrambi i file.

Avatar
OdooBot Italia
-
Ho importato il modello library_category in __init__ ma mi da questo errore quando cerco di accedere al campo categoria:



Il giorno ven 31 mag 2019 alle ore 10:56 Alex Comba <catchall@odoo-italia.org> ha scritto:

il model 'library.category' è importato nel modulo? se sì, riavvia Odoo prima di aggiornare il modulo.


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

il model "library.category" dove l'hai definito? intendo la classe. Avrai un "class LibraryCategory" da qualche parte

Avatar
OdooBot Italia
-
Si, ho definito la classe libraryCategory nel file library_category e ho importato library_category in __init__ 

Il giorno ven 31 mag 2019 alle ore 11:53 Davide Corio <catchall@odoo-italia.org> ha scritto:

il model "library.category" dove l'hai definito? intendo la classe. Avrai un "class LibraryCategory" da qualche parte


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Alex Comba
-

Puoi scrivere il contenuto dei due __init__ file anche quello dentro models?

Avatar
OdooBot Italia
-
ecco qui:


Il giorno ven 31 mag 2019 alle ore 13:13 Alex Comba <catchall@odoo-italia.org> ha scritto:

Puoi scrivere il contenuto dei due __init__ file anche quello dentro models?


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Alex Comba
-

nel file __init__ del modulo devi scrivere:

from . import models

Avatar
OdooBot Italia
-
Si l’ho scrtto, riprovo
Il giorno 31 mag 2019, alle ore 14:16, Alex Comba <catchall@odoo-italia.org> ha scritto:

nel file __init__ del modulo devi scrivere:

from . import models


Inviata da Associazione Odoo Italia using Odoo.

Avatar
OdooBot Italia
-
Ecco i file, mi carica il modulo funzionante ma quando cerco di accedere al campo categpry_id si presenta questo errore:

Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 651, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 693, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 937, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 934, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 687, in call_kw
    return call_kw_model(method, model, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 672, in call_kw_model
    result = method(recs, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1563, in name_search
    return self._name_search(name, args, operator, limit=limit)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1576, in _name_search
    ids = self._search(args, limit=limit, access_rights_uid=access_rights_uid)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3813, in _search
    self._cr.execute(query_str, where_clause_params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 155, in wrapper
    return f(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 232, in execute
    res = self._obj.execute(query, params)
psycopg2.ProgrammingError: ERRORE:  la relazione "_unknown" non esiste
LINE 1: SELECT "_unknown".id FROM "_unknown" ORDER BY "_unknown"."id...
                                  ^


Il giorno ven 31 mag 2019 alle ore 14:50 Fabio Napoli <fabionapoli5711@gmail.com> ha scritto:
Si l’ho scrtto, riprovo
Il giorno 31 mag 2019, alle ore 14:16, Alex Comba <catchall@odoo-italia.org> ha scritto:

nel file __init__ del modulo devi scrivere:

from . import models


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Alex Comba
-

Prova ad aggiornare il modulo da linea di comando.

Avatar
OdooBot Italia
-
Ci provo

Il giorno lun 3 giu 2019 alle ore 09:32 Alex Comba <catchall@odoo-italia.org> ha scritto:

Prova ad aggiornare il modulo da linea di comando.


Inviata da Associazione Odoo Italia using Odoo.

Avatar
OdooBot Italia
-
Ho notato che il modulo non viene trovato (utilizzando il comando ./odoo-bin -d nome_del_mio_database -u helloworld3) non viene riconosciuto,  tant'è che nel database non risulta nessuna tabella library_book. Ho installato la versione 11 di odoo su windows, provo li.

Il giorno lun 3 giu 2019 alle ore 10:54 MiStraL EnnePï <fabionapoli5711@gmail.com> ha scritto:
Ci provo

Il giorno lun 3 giu 2019 alle ore 09:32 Alex Comba <catchall@odoo-italia.org> ha scritto:

Prova ad aggiornare il modulo da linea di comando.


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

la cartella helloworld3 sta in un percorso monitorato da odoo? domanda stupida...la cartella si chiama effettivamente helloworld3? il modulo è installato? altrimenti -u nome_modulo continuerà a dirti che non lo trova. hai lanciato la procedura di aggiornamento lista moduli dall'interfaccia di odoo?

Avatar
OdooBot Italia
-
Si la cartella si chiama helloworld3, inizialmente avevo trasportato la cartella negli addons di odoo. 

Il giorno 3 giu 2019, alle ore 14:34, Davide Corio <catchall@odoo-italia.org> ha scritto:

la cartella helloworld3 sta in un percorso monitorato da odoo? domanda stupida...la cartella si chiama effettivamente helloworld3? il modulo è installato? altrimenti -u nome_modulo continuerà a dirti che non lo trova. hai lanciato la procedura di aggiornamento lista moduli dall'interfaccia di odoo?


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

se lanci ./odoo-bin -d nome_db -u nome_modulo, odoo controlla solo nella sua cartella. devi passargli anche --addons-path al quale passi i percorsi dove odoo deve cercare i moduli. ma se avevi aggiunto il percorso nel file di configurazione di odoo, ti conviene passare -c /path/file_di_configurazione

Avatar
OdooBot Italia
-
Ah ok, allora faccio come dici. Riprovo
Il giorno 3 giu 2019, alle ore 15:58, Davide Corio <catchall@odoo-italia.org> ha scritto:

se lanci ./odoo-bin -d nome_db -u nome_modulo, odoo controlla solo nella sua cartella. devi passargli anche --addons-path al quale passi i percorsi dove odoo deve cercare i moduli. ma se avevi aggiunto il percorso nel file di configurazione di odoo, ti conviene passare -c /path/file_di_configurazione


Inviata da Associazione Odoo Italia using Odoo.

Avatar
OdooBot Italia
-
Nell'ultimo tentativo accede al modulo ma quando cerco di accedere al campo category_id mi da il seguente errore: 
(Può essere che non riconosce il fields.Many2one?)
Errore:
Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 651, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 693, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 937, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 934, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 687, in call_kw
    return call_kw_model(method, model, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 672, in call_kw_model
    result = method(recs, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1563, in name_search
    return self._name_search(name, args, operator, limit=limit)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1576, in _name_search
    ids = self._search(args, limit=limit, access_rights_uid=access_rights_uid)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3813, in _search
    self._cr.execute(query_str, where_clause_params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 155, in wrapper
    return f(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 232, in execute
    res = self._obj.execute(query, params)
psycopg2.ProgrammingError: ERRORE:  la relazione "_unknown" non esiste
LINE 1: SELECT "_unknown".id FROM "_unknown" ORDER BY "_unknown"."id...
                                  ^

Il giorno lun 3 giu 2019 alle ore 16:34 Fabio Napoli <fabionapoli5711@gmail.com> ha scritto:
Ah ok, allora faccio come dici. Riprovo
Il giorno 3 giu 2019, alle ore 15:58, Davide Corio <catchall@odoo-italia.org> ha scritto:

se lanci ./odoo-bin -d nome_db -u nome_modulo, odoo controlla solo nella sua cartella. devi passargli anche --addons-path al quale passi i percorsi dove odoo deve cercare i moduli. ma se avevi aggiunto il percorso nel file di configurazione di odoo, ti conviene passare -c /path/file_di_configurazione


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

molto probabile che nel file __init__.py non hai importato il file dove hai definito la classe referenziata da quel many2one

Avatar
OdooBot Italia
-
In models/__init__.py ho riportato:
from . import library_book
from . import library_category

Mi da comunque il seguente errore:


Il giorno lun 3 giu 2019 alle ore 16:43 MiStraL EnnePï <fabionapoli5711@gmail.com> ha scritto:
Nell'ultimo tentativo accede al modulo ma quando cerco di accedere al campo category_id mi da il seguente errore: 
(Può essere che non riconosce il fields.Many2one?)
Errore:
Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 651, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 693, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 937, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 934, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 687, in call_kw
    return call_kw_model(method, model, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 672, in call_kw_model
    result = method(recs, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1563, in name_search
    return self._name_search(name, args, operator, limit=limit)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1576, in _name_search
    ids = self._search(args, limit=limit, access_rights_uid=access_rights_uid)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3813, in _search
    self._cr.execute(query_str, where_clause_params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 155, in wrapper
    return f(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 232, in execute
    res = self._obj.execute(query, params)
psycopg2.ProgrammingError: ERRORE:  la relazione "_unknown" non esiste
LINE 1: SELECT "_unknown".id FROM "_unknown" ORDER BY "_unknown"."id...
                                  ^

Il giorno lun 3 giu 2019 alle ore 16:34 Fabio Napoli <fabionapoli5711@gmail.com> ha scritto:
Ah ok, allora faccio come dici. Riprovo
Il giorno 3 giu 2019, alle ore 15:58, Davide Corio <catchall@odoo-italia.org> ha scritto:

se lanci ./odoo-bin -d nome_db -u nome_modulo, odoo controlla solo nella sua cartella. devi passargli anche --addons-path al quale passi i percorsi dove odoo deve cercare i moduli. ma se avevi aggiunto il percorso nel file di configurazione di odoo, ti conviene passare -c /path/file_di_configurazione


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

temo ti converrà pubblicare questo tuo modulo di esempio da qualche parte così possiamo fare dei test. Se hai un account github pubblicalo li. altrimenti puoi mettere lo zip su dropbox o servizi simili.

Avatar
OdooBot Italia
-
Lo riporto su dropbox e mando il link. Comunque sto notando che mi da problemi quando inserisco il campo Many2one, potrebbe essere?

Il giorno 31 mag 2019, alle ore 10:56, Alex Comba <catchall@odoo-italia.org> ha scritto:

il model 'library.category' è importato nel modulo? se sì, riavvia Odoo prima di aggiornare il modulo.


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

Ti sta dicendo che non vede il modello "library.category", devi indagare su questo

Avatar
OdooBot Italia
-
Si cerco di indagare su questo, anche se mi sembra strano, ho provato introducendo un campo in library_book di tipo Many2one ed è come se non lo riconoscesse o meglio nel modulo è presente ma ogni qualvolta tento di accedervi mi da un errore, intanto ho condiviso la cartella da dropbox

Il giorno mar 4 giu 2019 alle ore 10:40 Davide Corio <catchall@odoo-italia.org> ha scritto:

Ti sta dicendo che non vede il modello "library.category", devi indagare su questo


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

ok, posta qui il link

Avatar
OdooBot Italia
-
Ecco qui: https://www.dropbox.com/sh/p6pxrbw4jdrlfvo/AACsaNp_zAVnyaQ3GrS7nRrBa?dl=0

Il giorno 4 giu 2019, alle ore 14:35, Davide Corio <catchall@odoo-italia.org> ha scritto:

ok, posta qui il link


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Alex Comba
-

prova a scrivere il Many2one come segue, invertendo cioè i due argomenti:

category_id = fields.Many2one(string="Category", "library category")

Come indicato su https://www.odoo.com/forum/help-1/question/weird-error-programmingerror-relation-unknown-does-not-exist-line-1-select-unknown-id-from-unknown-order-by-unknown-id-74185

Avatar
OdooBot Italia
-
Ok, provo


Il giorno 4 giu 2019, alle ore 15:54, Alex Comba <catchall@odoo-italia.org> ha scritto:

prova a scrivere il Many2one come segue, invertendo cioè i due argomenti:

category_id = fields.Many2one(string="Category", "library category")

Come indicato su https://www.odoo.com/forum/help-1/question/weird-error-programmingerror-relation-unknown-does-not-exist-line-1-select-unknown-id-from-unknown-order-by-unknown-id-74185


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

category_id = fields.Many2one("library.category", string="Library Category)

Avatar
OdooBot Italia
-
Ho tentato in entrambi modi, il modulo me lo riconosce ma al campo category_id, nonostante venga visualizzato, non mi è dato l'accesso. Mi si presenta il seguente errore:
Non si è autorizzati ad accedere a questo documento. Se è un errore, contattare l'amministratore di sistema.

(Modello documento: library.category)

Il giorno mar 4 giu 2019 alle ore 15:55 Fabio Napoli <fabionapoli5711@gmail.com> ha scritto:
Ok, provo


Il giorno 4 giu 2019, alle ore 15:54, Alex Comba <catchall@odoo-italia.org> ha scritto:

prova a scrivere il Many2one come segue, invertendo cioè i due argomenti:

category_id = fields.Many2one(string="Category", "library category")

Come indicato su https://www.odoo.com/forum/help-1/question/weird-error-programmingerror-relation-unknown-does-not-exist-line-1-select-unknown-id-from-unknown-order-by-unknown-id-74185


Inviata da Associazione Odoo Italia using Odoo.

Avatar
OdooBot Italia
-
Se provassi a creare la classe library_category nello stesso file di library_book?

Il giorno 4 giu 2019, alle ore 16:30, Davide Corio <catchall@odoo-italia.org> ha scritto:

category_id = fields.Many2one("library.category", string="Library Category)


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

ti manca la riga relativa a library.book in security/ir.model.access.csv. se guardi nel log del server quando fai l'update del modulo te lo dice.

Avatar
OdooBot Italia
-
Devo aggiungere:
Access_library_category, access_library_category, model_library_category, base_group_user,1,1,1,1
Giusto?

Il giorno 4 giu 2019, alle ore 17:05, Davide Corio <catchall@odoo-italia.org> ha scritto:

ti manca la riga relativa a library.book in security/ir.model.access.csv. se guardi nel log del server quando fai l'update del modulo te lo dice.


Inviata da Associazione Odoo Italia using Odoo.

Avatar
Davide Corio
-

come inizio direi che va bene. ti permette perlomeno di valutare se il modulo funziona

Avatar
OdooBot Italia
-
Ok, provo

Il giorno 4 giu 2019, alle ore 18:10, Davide Corio <catchall@odoo-italia.org> ha scritto:

come inizio direi che va bene. ti permette perlomeno di valutare se il modulo funziona


Inviata da Associazione Odoo Italia using Odoo.

Avatar
OdooBot Italia
-
Ho aggiunto la riga ma continua a darmi l’errore:
Non si è autorizzati ad accedere a questo documento, contattare l’amministratore di sistema
Modello documento: _unknow

Il giorno 4 giu 2019, alle ore 18:10, Davide Corio <catchall@odoo-italia.org> ha scritto:

come inizio direi che va bene. ti permette perlomeno di valutare se il modulo funziona


Inviata da Associazione Odoo Italia using Odoo.

Avatar
OdooBot Italia
-
È andato! Perfetto, grazie!!

Il giorno 4 giu 2019, alle ore 18:10, Davide Corio <catchall@odoo-italia.org> ha scritto:

come inizio direi che va bene. ti permette perlomeno di valutare se il modulo funziona


Inviata da Associazione Odoo Italia using Odoo.