Přejít na obsah
Odoo Menu
  • Přihlásit se
  • Vyzkoušejte zdarma
  • Aplikace
    Finance
    • Účetnictví
    • Fakturace
    • Výdaje
    • Spreadsheet (BI)
    • Dokumenty
    • Podpisy
    Prodej
    • CRM
    • Prodej
    • POS Obchod
    • POS Restaurace
    • Předplatné
    • Pronájem
    Webové stránky
    • Webové stránky
    • E-shop
    • Blog
    • Fórum
    • Živý chat
    • eLearning
    Dodavatelský řetězec
    • Sklad
    • Výroba
    • PLM
    • Nákup
    • Údržba
    • Kvalita
    Lidské zdroje
    • Zaměstnanci
    • Nábor
    • Volno
    • Hodnocení zaměstnanců
    • Doporučení
    • Vozový park
    Marketing
    • Marketing sociálních sítí
    • Emailový marketing
    • SMS Marketing
    • Události
    • Marketingová automatizace
    • Dotazníky
    Služby
    • Projekt
    • Časové výkazy
    • Práce v terénu
    • Helpdesk
    • Plánování
    • Schůzky
    Produktivita
    • Diskuze
    • Umělá inteligence
    • IoT
    • VoIP
    • Znalosti
    • WhatsApp
    Aplikace třetích stran Odoo Studio Odoo cloudová platforma
  • Branže
    Maloobchod
    • Knihkupectví
    • Obchod s oblečením
    • Obchod s nábytkem
    • Potraviny
    • Obchod s hardwarem
    • Hračkářství
    Jídlo a pohostinství
    • Bar a Pub
    • Restaurace
    • Fast Food
    • Penzion
    • Distributor nápojů
    • Hotel
    Nemovitost
    • Realitní kancelář
    • Architektonická firma
    • Stavba
    • Správa nemovitostí
    • Zahradnictví
    • Asociace vlastníků nemovitosti
    Poradenství
    • Účetní firma
    • Odoo Partner
    • Marketingová agentura
    • Právník
    • Akvizice talentů
    • Audit a certifikace
    Výroba
    • Textil
    • Kov
    • Nábytek
    • Jídlo
    • Pivovar
    • Korporátní dárky
    Zdraví a fitness
    • Sportovní klub
    • Prodejna brýli
    • Fitness Centrum
    • Wellness praktikové
    • Lékárna
    • Kadeřnictví
    Transakce
    • Údržbář
    • Podpora IT & hardware
    • Systémy solární energie
    • Výrobce obuvi
    • Úklidové služby
    • Služby HVAC
    Ostatní
    • Nezisková organizace
    • Agentura pro životní prostředí
    • Pronájem billboardů
    • Fotografování
    • Leasing jízdních kol
    • Prodejce softwaru
    Procházet všechna odvětvíInauguration Odoo Lyon
  • Komunita
    Edukační program
    • Tutoriály
    • Dokumentace
    • Certifikace
    • Vzdělávání
    • Blog
    • Podcast
    Podpora vzdělávání
    • Vzdělávací program
    • Scale Up! Hra na firmu
    • Navštivte Odoo
    Získat software
    • Stáhnout
    • Porovnejte edice
    • Verze
    Spolupráce
    • Github
    • Fórum
    • Události
    • Překlady
    • Stát se partnerem
    • Služby pro partnery
    • Registrujte svou účetní firmu
    Získat služby
    • Najít partnera
    • Najít účetní
    • Setkejte se s poradcem
    • Implementační služby
    • Zákaznické reference
    • Podpora
    • Upgrady
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Dohodnout demo
  • Ceník
  • Pomoc
You need to be registered to interact with the community.
All Posts Lidé Odznaky
Štítky (View all)
odoo accounting v14 pos v15
O tomto fóru
You need to be registered to interact with the community.
All Posts Lidé Odznaky
Štítky (View all)
odoo accounting v14 pos v15
O tomto fóru
Pomoc

[V16] Error: Savepoint does not exist

Odebírat

Get notified when there's activity on this post

This question has been flagged
cursorsqlpsycopg2internalpsycopg2.errors
4032 Zobrazení
Avatar
Sibert Aerts

Hello, I'm encountering an unexpected psycopg2 error, psycopg2.errors.InvalidSavepointSpecification​, as a result of using with env.cr.savepoint():​

It's unclear if this is a bug, or if I'm somehow misusing this feature.


To describe my situation, I'm overriding the /shop/address route (part of the ecommerce checkout flow) controller to change a lot of behaviour to suit our client, in particular the sale is completed (no payment required) as soon as the address form is filled out correctly.

The control flow is simple, however:

1. The user fills out the form and submits it

2A: Either the form is successful in which case some Odoo records may be updated, created, etc. and the user is redirected,

2B: Or something went wrong and the user is sent back to the same page but with an error displayed.


(NOTE: "Something went wrong" should cover many cases, from custom-written validation failing to standard Odoo validation failing to Odoo database acting up and invalidating your transaction...)

As such I've written the following construction in python

​try:

    with request.cr.savepoint(): 

        self._handle_form_data(form_data)

except ValidationError as e:

    return self._render_validation_error(e)

except Exception as e:

    return self._render_exception(e)

The idea of the try/except is that I don't want the user to ever see a 500 Server Error page, and in fact a lot of the exceptions I'm expecting can be nicely formatted and displayed to the user.

The idea of the savepoint is so that everything that happens in _handle_form_data is unrolled as soon as even a single thing goes wrong. I don't want "half a sale" to happen.

This appears to work just fine, but suddenly I've been inconsistently gettingpsycopg2.errors.InvalidSavepointSpecification​errors appearing when the cr.savepoint() context is being exited (without any exceptions, mind you!), but for some reason the DB savepoint no longer exists.


Could this be caused by cr.commit() being called somewhere deep inside _handle_form_data? Am I using the savepoint wrong? Should I be creating a new cursor instead of using a savepoint?


I'm not realistically expecting an answer, but maybe an Odoo engineer sees this and can tell me what's going on here, or someone else finds this from googling the error and finds this page.

1
Avatar
Zrušit
Enjoying the discussion? Don't just read, join in!

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

Přihlásit se
Related Posts Odpovědi Zobrazení Aktivita
Getting data from SQL server to odoo postgresql server. best practices and industry standard
postgresql api sql psycopg2 datamanagement
Avatar
0
čvc 23
5482
OperationalError: Unable to use a closed cursor -- Unable to create new database via interface v7 -- Potential solutions given
database create v7 cursor sql
Avatar
0
bře 16
8712
Usage Of SQl Queries In odoo
sql
Avatar
Avatar
1
lis 22
9734
ProgrammingError can't adapt type 'account.journal' Vyřešeno
psycopg2
Avatar
Avatar
Avatar
3
zář 22
23584
sql constraints aren't being detected in my model
sql
Avatar
Avatar
1
říj 21
5509
Komunita
  • Tutoriály
  • Dokumentace
  • Fórum
Open Source
  • Stáhnout
  • Github
  • Runbot
  • Překlady
Služby
  • Odoo.sh hostování
  • Podpora
  • Upgrade
  • Nestandardní vývoj
  • Edukační program
  • Najít účetní
  • Najít partnera
  • Stát se partnerem
O nás
  • Naše společnost
  • Podklady značky
  • Kontakujte nás
  • Práce
  • Události
  • Podcast
  • Blog
  • Zákazníci
  • Právní dokumenty • Soukromí
  • Zabezpečení
الْعَرَبيّة 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 je balíček open-source aplikací, které pokrývají všechny potřeby vaší společnosti: CRM, e-shop, účetnictví, sklady, kasy, projektové řízení a další.

Unikátní nabídka od Odoo poskytuje velmi jednoduché uživatelské rozhraní a vše je integrované na jednom místě.

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