Overslaan naar inhoud
Odoo Menu
  • Aanmelden
  • Probeer het gratis
  • Apps
    Financiën
    • Boekhouding
    • Facturatie
    • Onkosten
    • Spreadsheet (BI)
    • Documenten
    • Ondertekenen
    Verkoop
    • CRM
    • Verkoop
    • Kassasysteem winkel
    • Kassasysteem Restaurant
    • Abonnementen
    • Verhuur
    Websites
    • Websitebouwer
    • E-commerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Bevoorradingsketen
    • Voorraad
    • Productie
    • PLM
    • Inkoop
    • Onderhoud
    • Kwaliteit
    Personeelsbeheer
    • Werknemers
    • Werving & Selectie
    • Verlof
    • Evaluaties
    • Aanbevelingen
    • Wagenpark
    Marketing
    • Sociale media-marketing
    • E-mailmarketing
    • Sms-marketing
    • Evenementen
    • Marketingautomatisering
    • Enquêtes
    Diensten
    • Project
    • Urenstaten
    • Buitendienst
    • Helpdesk
    • Planning
    • Afspraken
    Productiviteit
    • Chat
    • Goedkeuringen
    • IoT
    • VoIP
    • Kennis
    • WhatsApp
    Apps van derden Odoo Studio Odoo Cloud Platform
  • Bedrijfstakken
    Detailhandel
    • Boekhandel
    • kledingwinkel
    • Meubelzaak
    • Supermarkt
    • Bouwmarkt
    • Speelgoedwinkel
    Food & Hospitality
    • Bar en Pub
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Vastgoedbeheer
    • Tuinieren
    • Vereniging van eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brewery
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Trades
    • Klusjesman
    • IT-hardware & support
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profitorganisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Browse all Industries
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijs- programma
    • Scale Up! Business Game
    • Bezoek Odoo
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Word een Partner
    • Services for Partners
    • Registreer je accountantskantoor
    Diensten
    • Vind een partner
    • Vind een boekhouder
    • Een adviseur ontmoeten
    • Implementatiediensten
    • Klantreferenties
    • Ondersteuning
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Vraag een demo aan
  • Prijzen
  • Help

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

  • CRM
  • e-Commerce
  • Boekhouding
  • Voorraad
  • PoS
  • Project
  • MRP
All apps
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Help

How to find out the table name for a many2many relation (Where is the many2many table name stored?)

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
ormxmlrpcmany2many
4 Antwoorden
25525 Weergaven
Avatar
Tanveer Singh

Hi,

I am trying to recover data from a broken odoo installation (uprade got screwed up).

I have exported all the tables to CSV using postgresql (psql). I would also be able to handle many2one and one2many relations.

For many2many relations, I need a way to programatically find out which database table contains the relation details (ids from both the models). I tried to get the data from the ORM "fields_get" function using xmlrpc. The  field definition returns a dictionary which has a key named 'relation'. However this key contains just the name of the other table/ model involved in the relation. For many2many relations there is another 3rd table involved. I am unable to find where odoo stores the name of this table.

Regards,

Tanveer

0
Avatar
Annuleer
Pawan

You can get the name of the relation table by seeing the fields definition only. Or, odoo maintains a separate table called 'ir_model_relation' containing the module id(like, Project) and the object(model) id(like project_project ) with relation tables name for that object, you can use this table to get all the relation for that particular model(object) .

Avatar
Pawan
Beste antwoord

Hi,

You can get the name of the relation table by seeing the fields definition only. Or, odoo maintains a separate table called 'ir_model_relation' containing the module id(like, Project) and the object(model) id(like project_project ) with relation tables name for that object, you can use this table to get all the relation for that particular model(object) .

Thanks

0
Avatar
Annuleer
Tanveer Singh
Auteur

Thanks Pawan. Your answer points me to the correct direction. I saw the ir_model_relation table, it provides the names of the many2many tables created by Odoo. However it only provides the module and model id references. When one model has more than one many2many fields, how to identity which row in the table 'ir_model_relation' refers to which field of the model?

Avatar
Abdelhalim KADDOUR GUETTAOUI
Beste antwoord

i want to explain how odoo framework create related table for many2many for exemple we have your model1 where you created "category_id" and the other model2 where you Create the relation with many2many

Now for each models odoo create table in Psql , so for models1 odoo create in Psql table:model1and for the second model Psql create table: Model2 and for the relation many2many Psql create the third his name is table:model1_Model2

so in odoo create this table with underscore and the 2 table Name

1
Avatar
Annuleer
Avatar
Matt Horne
Beste antwoord

In Odoo 9, you can query ir_model_fields to get the table name from the relation_table column.  
I'm not too sure about 7 and 8, but I think in 6.1 you could check the field definition from a fields get - something like:

self.fields_get(cr, uid, ['my_m2m_field'])['my_m2m_field']['third_table']

1
Avatar
Annuleer
Avatar
Stuti Mehta
Beste antwoord

Go to settings and from technical menu there is many2many option from where you can fetch all the many2many tables of your project

0
Avatar
Annuleer
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!

Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!

Aanmelden
Gerelateerde posts Antwoorden Weergaven Activiteit
Is there a way to pass extra value to context from xmlrpc client ?
orm xmlrpc
Avatar
0
sep. 17
7173
how to format value for a many2many field thru XML RPC Opgelost
xmlrpc many2many perl
Avatar
Avatar
Avatar
4
okt. 17
29368
Create product using XMLRPC - PHP, issue with public_categ_ids
php xmlrpc many2many
Avatar
Avatar
2
jun. 16
12151
Creating model data with many2many field doesn't work Opgelost
orm many2many controller
Avatar
Avatar
1
jun. 15
19612
OpenERP function field xmlrpc vals
orm xmlrpc context
Avatar
0
mrt. 15
5137
Community
  • Tutorials
  • Documentatie
  • Forum
Open Source
  • Downloaden
  • Github
  • Runbot
  • Vertalingen
Diensten
  • Odoo.sh Hosting
  • Ondersteuning
  • Upgrade
  • Gepersonaliseerde ontwikkelingen
  • Onderwijs
  • Vind een boekhouder
  • Vind een partner
  • Word een Partner
Over ons
  • Ons bedrijf
  • Merkelementen
  • Neem contact met ons op
  • Vacatures
  • Evenementen
  • Podcast
  • Blog
  • Klanten
  • Juridisch • Privacy
  • Beveiliging
الْعَرَبيّة 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 een suite van open source zakelijke apps die aan al je bedrijfsbehoeften voldoet: CRM, E-commerce, boekhouding, inventaris, kassasysteem, projectbeheer, enz.

Odoo's unieke waardepropositie is om tegelijkertijd zeer gebruiksvriendelijk en volledig geïntegreerd te zijn.

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