Skip to Content
Menu
This question has been flagged
3 Replies
2418 Views

I have fields like some checkboxes, nationality, minimum age, and maximum age. I want to display available data that matches the data given in the fields before

for example- if I select a checkbox known as cooking, nationality is selected as Kenya, minimum age is 20 and maximum age is 40.
now based on this data i want to display all the available people who knows cooking, is from Kenya, age range is 20-40.
After displaying the people, i want to select one of them from the list.

Please help me on how to achieve the above scenario.

Avatar
Discard
Best Answer

in v17,v16 the technic to push domain dynamicaly differ from other version dyn domain can be return by return [domain:[()] on older version

The V17 approach

you can declare a binary field in your domain and a compute method that push the relevant domain depending on what you want to do

dyn_filter_analytic = fields.Binary(string='analytic filter ',compute='_compute_analytic_domain')

@api.depends('crm_market_id')
def _compute_analytique_domain(self):
for dom_line in self:
if dom_line.crm_market_id:
dom_line.dyn_filter_analytic = [('crm_market_id','=',dom_line.crm_market_id.id)] # do what you want inside this
else:
dom_line.dyn_filter_analytic = [()] # do what you want inside this

then just add the field in your view and call the domain prepare in the binary field

readonly='analytic_account_id'
domain = "dyn_filter_analytic"
options="{'no_create': True}"/>

hope this help

For information:

in V16 OCA community create a web_domain_field module but is deprecated in v17 ( the binary approch is more streng)


Avatar
Discard
Best Answer

Hi 

you can apply dynamic domain for the field based on the conditions that you needed

Dynamic domain in odoo

Domains


Regards

Avatar
Discard
Best Answer

In Odoo v17, to display available data based on specific fields, you'll generally work within Odoo's framework and its user interface. You can create views, filters, and reports to showcase data based on certain field criteria. Here's a general approach:

  1. Views and Filters:
    • Use the Odoo Studio or development environment to create or modify views that display the required fields.
    • Apply filters within these views to show data based on specific field values. For instance, you might filter records where a certain field matches particular criteria.
  2. Reports:
    • Generate reports within Odoo by designing custom reports or utilizing pre-built report templates.
    • Apply filters or grouping to these reports to display data as per field-based conditions.
  3. Custom Development:
    • If necessary, custom development can be done using Python code to fetch and display data based on specific field values.
    • Python code can access the Odoo ORM (Object-Relational Mapping) to query the database and retrieve records based on specified criteria.
  4. Dashboard Widgets:
    • Utilize Odoo's dashboard features to create widgets that display relevant data based on specific fields. Widgets can be customized to showcase summarized or detailed information.


Avatar
Discard