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
    • E-learning
    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
    Horeca & Hospitality
    • Bar en café
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Property Management
    • Tuinieren
    • Vereniging van eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brouwerij
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Diensten
    • Klusjesman
    • IT-hardware & ondersteuning
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profitorganisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Alle bedrijfstakken bekijken
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijsprogramma
    • Scale Up! Business Game
    • Odoo bezoeken
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Partner worden
    • Diensten voor 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
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

Get model data in a controller

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
ormmodelcontroller
4 Antwoorden
39013 Weergaven
Avatar
Tobias Wetzel

Hi everyone,

I am feeling kind of stupid, but nevertheless here is my problem:

I defined a model class:

models.py

class MealType(models.Model):
_name = 'event_participation.meal_type'

name = fields.Char(string="Name", required=True)
event_id = fields.Many2one('event.event', string="Event")
cost = fields.Float(string="Additional Cost")

def get_all_meal_types(self):
return self.search([])

Now I have a controller in which I want to get all MealType records from the database to display them.

controllers.py

import models

class ExtendedSaleController(main.website_sale):

def checkout_values(self, data=None):
if not data:
cr, uid, context, registry = request.cr, request.uid, request.context, request.registry
values = super(ExtendedSaleController, self).checkout_values()


#retrieve meal types

values["meals"] = meals

      return values

I tried several things to get the entries but nothing worked:

meal = models.MealType()
meals = models.MealType.get_all_meal_types(self)
meals = models.MealType.search([])
meals = meal.search([])  

 What am I missing?

Thanks for your help!

2
Avatar
Annuleer
Avatar
eLBati
Beste antwoord

From within a controller, you can access ORM models using http.request.env

In your case:

MealType = http.request.env['event_participation.meal_type']
mealtypes = MealType.search([])

See the website tutorial

5
Avatar
Annuleer
Avatar
Axel Mendoza
Beste antwoord

The thing is that in controllers you access the models and their methods using the registry like self.pool in the old api.

1
Avatar
Annuleer
Avatar
Emipro Technologies Pvt. Ltd.
Beste antwoord

Hi,

you can manage those data as like below into your controller.


def checkout_values(self, data=None):

if not data:

cr, uid, context, registry = request.cr, request.uid, request.context, request.registry

values = super(ExtendedSaleController, self).checkout_values()

#retrieve meal types

values["meals"] =registry['event_participation.meal_type'].search([])

return values

0
Avatar
Annuleer
Avatar
Tobias Wetzel
Auteur Beste antwoord

Solution:

orm_meals = registry.get('event_participation.meal_type') 

get the IDs of all MealType records:

meal_ids = orm_meals.search(cr, SUPERUSER_ID, [], context=context) 

and get the complete records as objects:

meals = orm_meals.browse(cr, SUPERUSER_ID, meal_ids, context) 



-1
Avatar
Annuleer
Deborah Joy Adeva

should I declare 'registry'? if, yes, how? , i'll appreciate your answer, thanks in advance. I have the same problem in the above question

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
Get current model informations in the controller Opgelost
model controller
Avatar
Avatar
2
jul. 24
3845
How i can verify record then save in Odoo 12?
orm model
Avatar
0
sep. 19
4425
How do I dump all the fields and values in a model (ideally including those from relationships)? Opgelost
development orm model
Avatar
1
okt. 20
14431
Creating model data with many2many field doesn't work Opgelost
orm many2many controller
Avatar
Avatar
1
jun. 15
19781
Usage of ORM methods and ORM API documentation?
database orm model
Avatar
Avatar
1
mrt. 15
6561
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
  • Partner worden
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 Svenska ภาษาไทย 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