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
    • Artificial Intelligence
    • 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
    • Property 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
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

Preventing duplication of nested One2Many records (Districts/Cities) during module update (CSV Data)

Subscribe

Get notified when there's activity on this post

This question has been flagged
datamigrationdeploymentodoo18
1228 Views
Avatar
Agent

Context: I am migrating a localization module from v16 to v18. The module loads States, Districts, and Cities. The data is structured in a single CSV file targeting res.country.state using nested One2Many fields to create the hierarchy in one go.
The structure looks like this:

  • File: data/res.country.state.csv

  • Columns: "id","country_id","code","name","district_ids/code","district_ids/name","district_ids/city_ids/code","district_ids/city_ids/name"

The Problem: In the initial version, the CSV was loaded without an "id" column (External ID) for the States. When I update the module on an existing database (where data was already loaded), Odoo creates duplicates of the Districts and Cities.

It seems that because the Districts and Cities are defined as nested columns (district_ids/name) inside the State CSV, they do not have their own fixed External IDs (xml_id). Therefore, every time I update the module to add new cities, Odoo treats the existing nested lines as new records and duplicates them.

My Goal: I need to be able to update the module to add new cities/districts periodically without duplicating the existing ones, and without maintaining two separate versions of the module (one for fresh installs and one for updates).

Questions:

  1. Is there a way to prevent duplication while keeping this nested CSV structure?

  2. Should I split the CSV into 3 separate files (States, Districts, Cities) with explicit IDs? If so, how do I handle the migration for existing databases that already have the data loaded "anonymously"?

Any advice on the best migration strategy would be appreciated.

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
Need Advice For Migrate Thousands of Messy SKUs
data migration implementation functional odoo18
Avatar
Avatar
Avatar
2
Nov 25
1587
How did I migrate custom module from odoo 17 to odoo 18 to replace tree view to list view Solved
migration odoo18
Avatar
1
Mar 26
6871
Past years Financial Data
data migration #import
Avatar
0
Apr 24
3182
Quickbooks to Odoo 10 data migration tool.
data migration quickbooks
Avatar
Avatar
Avatar
Avatar
3
Jun 19
15627
Any information on migrating MAS 90 to Odoo 11?
data migration migrate
Avatar
0
Oct 18
4309
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 Svenska ภาษาไทย 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