Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
2903 Prikazi

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

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>

Avtor

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

Related Posts Odgovori Prikazi Aktivnost
3
jul. 22
11573
5
jun. 19
7050
2
dec. 24
9201
4
mar. 24
5304
1
mar. 24
1820