تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
4230 أدوات العرض

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 !!!


الصورة الرمزية
إهمال
أفضل إجابة

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

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

Hi Yenthe,

I tried it and it works successfully.

Thanks !

Smael

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
3
أبريل 20
10908
0
مايو 16
4837
1
مارس 15
5292
1
مارس 23
2381
0
ديسمبر 22
3005