Ho fatto questo semplicissimo esempio che ripropone quello che sto avendo nel mio svilppo.
Creo dune nuovi modelli che ereditano da 'res.partner' poiché mi occorrono due oggetti che sfruttino molte delle caratteristiche di 'res.partner'.
class Hero(models.Model):
_inherit = 'res.partner'
_name = 'heroes_villains.hero'
_description = "heroes_villains.hero"
class Villain(models.Model):
_inherit = 'res.partner'
_name = 'heroes_villains.villain'
_description = "heroes_villains.villain"
No ho errori nel caricare il modulo ma se carico dei dati da questo demo.xml:
<odoo>
<data>
<record id="hero0" model="heroes_villains.hero">
<field name="name">Thor</field>
<field name="email">thor@heroes.com</field>
</record>
<record id="villain0" model="heroes_villains.villain">
<field name="name">Magneto</field>
<field name="email">magneto@villains.com</field>
</record>
</data>
</odoo>
Ho il seguente errore:
raise TypeError("Mixing apples and oranges: %s in %s" % (item, self))
TypeError: Mixing apples and oranges: res.partner(2,) in heroes_villains.hero(1,)
errore che ho anche se uso il form che ho nella view.xml.Ho cercato in internet una soluzione a questo problema ma non ne sono venuto a capo. Per quello che ho capito (e visto nel DB) così facendo replico il 'res.partner' con una tabella heroes_villains.hero e una heroes_villains.villain e dovrei potere usare i campi name, email che i miei modelli hanno ereditato da 'res.partner'.Dove sbaglio ? Ometto qualcosa o non ho capito qualche passaggio ?
Grazie