Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

View xml's not reloading when upgrading custom module

Subscribe

Get notified when there's activity on this post

This question has been flagged
modulesupgradingv14
4 Replies
18516 Views
Avatar
Dries Cox

Hallo Community, 

This is the second time that I encounter this problem. I upgrade my modules multiple times a day when working on them, but sometimes for no apparent reason a view-xml is not loading. 

In the logging of the server I get the message that the view is actually loaded, but when I get the error message, or lookup the view in the database, the old xml is still present. 

I tried two ways of upgrading modules: using the command line and -u module or using the user interface and select the module and upgrade manually. Both give the same problem.

The only way I manage to work around this problem is uninstalling the module and reinstalling. But this should not be necessary. Certainly because with some modules you can have data loss. 

The weird thing for me is that the logging actually confirms that the file is getting loaded, but the xml is not updated to the database. And because the module installs flawlessly after uninstallation sounds to me like the code is correct and is not the problem.

Does anybody had the same problem and knows what causes this? Thank you for your response. 

0
Avatar
Discard
Ermin Trevisan

This is not default behavior, I have done thousands of times. It only hapoens to me if the new view has errors. You may check if you also change python files in the same update, in this case you should restart the Odoo service (not server).

Dries Cox
Author

I know, this is not the way it should be. Next time this happens (i hope not) i am going to try to remove the view-xml that causes the error so that all the view-records in the database are removed and try after that to reinstall the module. Hope that that does the trick. Because the problem with uninstalling and reinstalling is that you lose all the data in the fields that are in the module.

Avatar
Dries Cox
Author Best Answer

I had this problem again with and I think I found what triggers this problem.

I get this problem when an existing field  (from  the  module) is not present any more in the new updated version of the custom module. That is when I get this error. For some reason odoo doesn't wants to update the xml views that contain the deleted field. 

So it keeps referring  to  the  old  xml  and  obviously  giving  an  error  because this field doesn't exists any more. 

The Solution I found is to delete all the problem cuasing views from the database.  You  can  do  this  in developer mode. technical-settings->views. Once they are deleted from the database reinstall the module and voila, it installs without a problem.

If for some reason you can't even access the settings no more because of the bug you get in odoo (like I had last time) you can copy-paste this to your url and get to the view-records right away.   /web?debug=1#action=28&\model=ir.ui.view&view_type=list&cids=1&menu_id=4


Update: @avinash NK added the option the refresh the xml from the file. This is an other way of doing the xml-refresh and less extreme than deleting the view.


I hope this helps someone having the same problem. 

3
Avatar
Discard
Abhinav Vaidya

Valid analysis and helpful URL

Avatar
Unai
Best Answer

Hi Odoo Community,

I recently encountered a similar issue while working with the l10n_es_partner module in Odoo, where some views referenced in ir.model.data were causing errors because the corresponding records in ir.ui.view didn’t exist. I wanted to share how I resolved it in case it helps someone else facing a similar problem.

The Problem

When I tried to update or work with the l10n_es_partner module, I kept getting errors related to views (e.g., view_partner_form). After some investigation, I found that the ir.model.data table contained records pointing to views in ir.ui.view, but those views were missing from the database. This mismatch caused the module to fail when trying to load or update its views.

To confirm this, I ran the following SQL query to inspect the ir.model.data entries for the l10n_es_partner module:

SELECT *

FROM ir_model_data

WHERE module = 'l10n_es_partner'

AND model = 'ir.ui.view';

The result showed four records:

idcreate_uidcreate_datewrite_datewrite_uidnoupdatenamemodulemodelres_idstudio
991312017-09-09 10:23:28.4406952025-02-21 11:44:31.7711721fview_res_bank_forml10n_es_partnerir.ui.view584
991512017-09-09 10:23:28.4406952025-02-21 11:44:31.7711721fview_partner_forml10n_es_partnerir.ui.view586
991612017-09-09 10:23:28.4406952025-02-21 11:44:31.7711721fview_partner_simple_forml10n_es_partnerir.ui.view587
14132132025-02-21 11:42:40.9836922025-02-21 11:44:31.771172fl10n_es_partner_import_wizardl10n_es_partnerir.ui.view5848

(4 rows)

However, when I checked the ir.ui.view table for these res_id values (584, 586, 587, 5848), those view records didn’t exist. This inconsistency was the root of the issue.

The Solution

To fix this, I decided to clean up the ir.model.data table by removing the orphaned references. I ran the following SQL command:

DELETE

FROM ir_model_data

WHERE module = 'l10n_es_partner'

AND model = 'ir.ui.view';


This deleted the four problematic records (DELETE 4 confirmed the operation). After that, I updated the l10n_es_partner module (either via the Odoo UI with -u l10n_es_partner or by restarting the server), and the views were recreated correctly from the module’s XML definitions. The errors disappeared, and everything worked as expected.

Why This Worked

The ir.model.data table links XML IDs to database records (like views in ir.ui.view). If a view is deleted or fails to be created but its ir.model.data entry remains, Odoo assumes the view still exists and throws errors when it can’t find it. By removing the stale entries, I allowed the module to regenerate the views from scratch during the update.

Caution

  • Backup First: Always back up your database before running DELETE queries, as this directly modifies data.
  • Check Your Case: This solution applies if the views are truly missing. If they exist but are broken, you might need to debug the XML or module instead.

Final Thoughts

This issue might occur due to interrupted module installs, manual deletions, or database migrations gone wrong. If you’re facing similar view-related errors, I recommend checking ir.model.data against ir.ui.view to ensure consistency.

Hope this helps someone out there! Let me know if you have questions or a better approach.

Best regards,

1
Avatar
Discard
Avatar
Avinash Nk
Best Answer

Please see the following method



Many Thanks

1
Avatar
Discard
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Best Answer

Hi, 

I think the problem is because the xml file is loaded with noupdate attribute set as True somehow.
Try adding your xml code inside data tag with noupdate value set as 0 and check.

< data noupdate="0">
...
< /data>

Regards

0
Avatar
Discard
Dries Cox
Author

Thanks for your reply, but this wasn't the case either. I still don't know what causes this, but I found a way around this.

Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Error upgrading from Odoo 14 to Odoo 16 - Style Compilation Failure
upgrading v14 odoo16features
Avatar
0
Jan 24
161
TrustCode's "l10n_br_point_of_sale" error (14.0)
modules Point Of Sale v14
Avatar
0
Oct 23
2176
Odoo14 : Community Edition - Timesheet module Solved
modules timesheet v14
Avatar
Avatar
1
Nov 23
5995
how to add field in paiment report module that calcule the total of salary that employe has toke
modules v14 Paiement
Avatar
0
Jun 23
2568
Moment.js replacement and underscore.js upgrade in odoo15? Solved
upgrading v14 v15
Avatar
Avatar
1
Feb 22
4607
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now