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

Odoo16: Related field 'model_name' in ir.actions.server not working

Subscribe

Get notified when there's activity on this post

This question has been flagged
cron
1 Reply
4219 Views
Avatar
M

On Odoo16, I'm trying to create a cron job in code like this;

                self.env['ir.cron'].sudo().create({

                    'name': cron.cron_name,

                    'cron_name': cron.cron_name,

                    'active': False,

                    'interval_number': cron.interval_number,

                    'interval_type': cron.interval_type,

                    'numbercall': cron.numbercall,

                    'doall': cron.doall,

                    'model_id': cron.model_id,

                    'state': cron.state,

                    'code': cron.code.replace('{{store_id}}', str(self.id)),

                })

The cron job is created and I can see that the model_id is correct and referencing my model in ir.model. However, the cron job fails because "model_name" is NULL in ir_act_server. Looking at the model, the field is a stored related field as defined below;

model_name = fields.Char(related='model_id.model', string='Model Name', readonly=True, store=True)

If would seem that the related field is not being correctly set when a new record is created with model_id correctly set.

Most modules use XML to create cron jobs. I've checked and none of these attempt to explicitly set model_name, yet in the DB, model_name is correctly set for them.

If I manually edit the server action to change the model_id through the UI, the field is correctly updated.

Has anyone else seen this issue; whether specific to ir.action.server, or any related field not being set correctly?

0
Avatar
Discard
Avatar
M
Author Best Answer

Ok, got to the bottom of it. The value I was passing for the model_id was typed as char. This was fine for the DB as it implicitly converted it to an integer and the relationship to ir_model was correct, however the ORM didn't correctly relate this to ir.model at record creation. Changing the data type of the field cron.model_id to integer fixed the problem. Should it have been an integer in the first place? Yes. Should the related field have still worked? Yes; if the DB is happy with the relationship, then the ORM should be too.

0
Avatar
Discard
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
ir.cron lock in multi-server deployment
cron
Avatar
0
Apr 22
5253
Show action_warn notification in cron
cron
Avatar
0
Jan 17
5350
Cron job for base_synchro module?
cron
Avatar
0
Dec 15
5491
How cron job works in OpenERP ? Solved
cron
Avatar
1
Sep 15
17992
Cron job does not execute python code on scheduler, only on Run Manually button. Solved
cron cronjob
Avatar
Avatar
Avatar
3
Sep 23
12917
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