Skip to Content
Menu
This question has been flagged
1 Reply
1927 Views

Hi,

Imagine that there are two selection fields, country and states as follows.

So when ever I select a country the states related to the country should be loaded out of all states. Any Idea about doing this in Odoo Website Form(QWEB) in Odoov15?


Avatar
Discard
Best Answer

Hi, there,

Target:

Process:

1. XML(this editor is hard to use)


res.partner









2.py

@api.onchange('state_id')
def _onchange_state_id(self):
self.city_id = None
self.district_id = None
if self.state_id:
return {'domain': {'city_id': [('state_id', '=', self.state_id.id)]}}
else:
return {'domain': {'city_id': []}}

from odoo import fields, models

class District(models.Model):
_name = 'res.country.district'
_description = 'District'
_order = 'name'

name = fields.Char("Name", required = True)
city_id = fields.Many2one(
'res.country.city', 'City'
)

class City(models.Model):
_name = 'res.country.city'
_description = 'City'
_order = 'name'

name = fields.Char("Name", required=True, translate=True)
zipcode = fields.Char("Zip")
state_id = fields.Many2one(
'res.country.state', 'State')
Hope it is useful.


Avatar
Discard

XML:
<record id="view_res_country_china_address_form" model="ir.ui.view">
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//div[hasclass('o_address_format')]" position="inside">
<field options='{"no_open": True}' name="state_id" placeholder="State Select" class="o_address_city"/>
<field options='{"no_open": True}' name="city_id" placeholder="City Select" class="o_address_city"/>
<field options='{"no_open": True}' name="district_id" placeholder="District Select" class="o_address_city"/>
</xpath>
</field>
</record>

Author

Hi @tony,
This is not what I need.
I need to do this in the webisite module.

Related Posts Replies Views Activity
3
Jul 22
10430
5
Jun 19
6157
4
Mar 24
2722
1
Mar 24
526
0
Nov 23
2040