Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
2 Respostas
4228 Visualizações

Hello everyone !


I wanna load default data into my database with my module.


The issue is:


// Family geek model

class FamilyGeek(model.Model):

 _name     = 'family.geek'

 name      = fields.Char(..........)


// data/family_geek_data.xml

<record model="family.geek" id="fg1">

  <field name="id">1</field>

  <field name="name">Geek Family</field>

</record>


// Family house model

class FamilyHouse(model.Model):

  _name         = 'family.house'

  name          = fields.Char(..........)

  family_geek_ids    = fields.One2many('family.geek',ondelete='SET NULL | CASCADE or More')


// data/family_house_data.xml

<record model="family.house" id="fh1">

  <field name="id">1</field>

  <field name="name">House's in Breizh</field>

  <field name="family_geek_ids">1</field>

</record>

<record model="family.house" id="fh2">

  <field name="id">2</field>

  <field name="name">House's in French Guyana</field>

  <field name="family_geek_ids">1</field>

</record>

<record model="family.house" id="fh3">

  <field name="id">3</field>

  <field name="name">House's in Mayotte</field>

  <field name="family_geek_ids">1</field>

</record>


Helps please !!!


Avatar
Cancelar
Melhor resposta

Hi Smael,


You should link to the family_geek_ids with an eval that has the id set of the record on the external table, not just a number. An example:

<record model="family.geek" id="fg1">
  <field name="name">Geek Family</field>
</record>

<record model="family.house" id="fh3"> <field name="name">House's in Mayotte</field> <field name="family_geek_ids" eval="[(6, 0, [ref('fg1')])]"/> </record>

Thanks to the eval Odoo knows that you want to link the first record from the table 'family.geek' to this record from the 'family.house' table.


P.S: You shouldn't use/set the field 'id' in the records. Your database will fill up the ID's automatically and by adding them manually you're only risking getting ORM issues.

Regards,
Yenthe

Avatar
Cancelar
Autor Melhor resposta

Hi Yenthe,

I tried it and it works successfully.

Thanks !

Smael

Avatar
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
3
abr. 20
10908
0
mai. 16
4837
1
mar. 15
5290
1
mar. 23
2381
0
dez. 22
3005