I am new in odoo and in my module I have created a percentage field which is integer. Now what I want is the percentage input value, from user should be in between 1-100. How can I limit input value in this field in py file?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
Hi,
You can write a constraint for the field such a way that it will block the input less than 1 and greater than 100.
@api.one
@api.constrains('field_name')
def _check_value(self):
if self.field_name > 100 or self.field_name < 0:
raise ValidationError(_('Enter Value Between 0-100.'))
Thanks
It is still giving error Cybrosys Techno Solutions Pvt.Ltd
Error:
Odoo Server Error
Traceback (most recent call last):
File "/opt/odoo12/odoo/odoo/models.py", line 1108, in _validate_fields
check(self)
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 351, in _check_xml
self.postprocess_and_fields(view.model, view_doc, view.id)
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 1059, in postprocess_and_fields
self.raise_view_error(_('Model not found: %(model)s') % dict(model=model), view_id)
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 545, in raise_view_error
raise ValueError(message)
ValueError: Model not found: tender.manage
Error context:
View `Tender Managemet`
[view_id: 768, xml_id: bhuwan_module.tender_manage_view_tree, model: tender.manage, parent_id: n/a]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 757, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 662, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/opt/odoo12/odoo/odoo/models.py", line 3788, in _load_records
data['record'].write(data['values'])
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 441, in write
return super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo12/odoo/odoo/models.py", line 3306, in write
fields[0].determine_inverse(records)
File "/opt/odoo12/odoo/odoo/fields.py", line 1097, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 275, in _inverse_arch
view.write(data)
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 441, in write
return super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo12/odoo/odoo/models.py", line 3269, in write
self._write(store_vals)
File "/opt/odoo12/odoo/odoo/models.py", line 3413, in _write
self._validate_fields(vals)
File "/opt/odoo12/odoo/odoo/models.py", line 1112, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Error while validating constraint\n\nModel not found: tender.manage\n\nError context:\nView `Tender Managemet`\n[view_id: 768, xml_id: bhuwan_module.tender_manage_view_tree, model: tender.manage, parent_id: n/a]', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo12/odoo/odoo/http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo12/odoo/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/odoo12/odoo/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/opt/odoo12/odoo/odoo/http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo12/odoo/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo12/odoo/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo12/odoo/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo12/odoo/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/opt/odoo12/odoo/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/opt/odoo12/odoo/addons/web/controllers/main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo12/odoo/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo12/odoo/odoo/api.py", line 749, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/opt/odoo12/odoo/odoo/api.py", line 736, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-67>", line 2, in button_immediate_upgrade
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_module.py", line 73, in check_and_log
return method(self, *args, **kwargs)
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_module.py", line 613, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_module.py", line 552, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/opt/odoo12/odoo/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo12/odoo/odoo/modules/loading.py", line 417, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "/opt/odoo12/odoo/odoo/modules/loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/opt/odoo12/odoo/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/opt/odoo12/odoo/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 801, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 864, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 754, in parse
self.parse(rec, mode)
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 763, in parse
exc_info[2]
File "/opt/odoo12/odoo/odoo/tools/pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 757, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/opt/odoo12/odoo/odoo/tools/convert.py", line 662, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/opt/odoo12/odoo/odoo/models.py", line 3788, in _load_records
data['record'].write(data['values'])
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 441, in write
return super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo12/odoo/odoo/models.py", line 3306, in write
fields[0].determine_inverse(records)
File "/opt/odoo12/odoo/odoo/fields.py", line 1097, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 275, in _inverse_arch
view.write(data)
File "/opt/odoo12/odoo/odoo/addons/base/models/ir_ui_view.py", line 441, in write
return super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo12/odoo/odoo/models.py", line 3269, in write
self._write(store_vals)
File "/opt/odoo12/odoo/odoo/models.py", line 3413, in _write
self._validate_fields(vals)
File "/opt/odoo12/odoo/odoo/models.py", line 1112, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint
Model not found: tender.manage
Error context:
View `Tender Managemet`
[view_id: 768, xml_id: bhuwan_module.tender_manage_view_tree, model: tender.manage, parent_id: n/a]
None" while parsing /opt/odoo12/odoo/addons/bhuwan_module/views/tendermanage_view.xml:4, near
<record id="tender_manage_view_tree" model="ir.ui.view">
<field name="name">Tender Managemet</field>
<field name="model">tender.manage</field>
<field name="arch" type="xml">
<tree>
<field name="name_of_company"/>
<field name="category"/>
<field name="publ_date"/>
<field name="subm_date"/>
<field name="field_type"/>
</tree>
</field>
</record>
The error does not seem to be related to what you have asked or what we have answered. Please check the code you have written.
Seems the error message says that the model not found. check whether you have defined the model and called the python file in the init file.
Thank you very much I have sort it out.
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Jun 19
|
3273 | ||
|
6
Mar 24
|
19790 | ||
Odoo Mail Sending Limit
Solved
|
|
2
Dec 23
|
11982 | |
|
0
Oct 23
|
33 | ||
|
3
Oct 23
|
787 |