i have a many2one field. It is in a line(part of tree for one2many.)
<tree string="PLD" editable="bottom">
<field name="priority_set" />
<field name="shop_id" domain="[('is_shop', '=', True),('usage','=','internal')]" options="{'no_open':True,'no_create':1,'no_create_edit':1}" /> //shop_id = fields.many2one('stock.location')
<field name="temp_id" options="{'no_open':True,'no_create':1,'no_create_edit':1}" />
</tree>
i want to select a shop for 1st line. In the 2nd line, the selected shop value should not be shown in the many2one dropdown. How can it be done?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- ลูกค้าสัมพันธ์
- e-Commerce
- ระบบบัญชี
- สินค้าคงคลัง
- PoS
- Project
- MRP
คำถามนี้ถูกตั้งค่าสถานะ
2
ตอบกลับ
8678
มุมมอง
this is from a custom application but does the job you want out of box in odoo way.
be careful: when you do changes on one2many columns with it, you might erase data!
in views
<record id="view_fc_animal_form" model="ir.ui.view">
<field name="name">fc.animal.tree</field>
<field name="model">fc.animal</field>
<field name="priority">4</field>
<field name="arch" type="xml">
<form string="Animals">
<sheet>
<group>
<field name="species_id" on_change="onchange_species_id(species_id, context)" options="{'no_create': True}"/>
</group>
<group>
<field name="breed_id" domain="[('species_id','=',species_id)]" options="{'no_create': True}" attrs="{'disabled': True}"/>
</group>
<group>
<group>
<!-- this is a sample for Selection/Boolean column. -->
<field name="gender" on_change="onchange_gender(gender, context)"/>
</group>
<group attrs="{'invisible': [('gender','not in', ('male', 'female'))]}">
<field name="castrated" attrs="{'invisible': [('gender','in', ('female'))]}"/>
<field name="sterilized" attrs="{'invisible': [('gender','in', ('male'))]}"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
in model.
class Animal(models.Model):
_name = 'fc.animal'
# columns
species_id = fields.Many2one('fc.species', string='Species', index=True, required=True)
breed_id = fields.Many2one('fc.breed', string='Breed', index=True)
def onchange_species_id(self, cr, uid, ids, species_id, context=None):
if not species_id:
return {'value': {'species_id': False, 'breed_id': False}}
return {'value': {'breed_id': False}}
I was searching solution for the similar problem. Did you solve it yet?
สนุกกับการพูดคุยนี้ใช่ไหม? เข้าร่วมเลย!
สร้างบัญชีวันนี้เพื่อเพลิดเพลินไปกับฟีเจอร์พิเศษและมีส่วนร่วมกับคอมมูนิตี้ที่ยอดเยี่ยมของเรา!
ลงชื่อRelated Posts | ตอบกลับ | มุมมอง | กิจกรรม | |
---|---|---|---|---|
|
0
เม.ย. 17
|
6746 | ||
|
1
ธ.ค. 19
|
9992 | ||
|
2
เม.ย. 24
|
2879 | ||
odoo onchange function on one2many field
แก้ไขแล้ว
|
|
3
ต.ค. 22
|
21362 | |
|
1
ก.ค. 20
|
8772 |