Hoppa till innehåll

Så Fixar Du Felet ”Record Does Not Exist Or Has Been Deleted” I Odoo

Få hjälp att förstå och åtgärda felet "record does not exist" i Odoo. Här får du en lättförståelig förklaring av vad som orsakar felet, vanliga scenarier där det dyker upp, och konkreta steg-för-steg-lösningar både för slutanvändare och utvecklare. Guiden tar upp felaktiga externa länkar, borttagna eller saknade databaser, rättighetsproblem, cache- och sessionkonflikter samt hur du felsöker loggar och XML/ORM-kod för att snabbt hitta och fixa källan till problemet.
17 februari 2026 av
Så Fixar Du Felet ”Record Does Not Exist Or Has Been Deleted” I Odoo
Elisa Van Outrive
| Inga kommentarer ännu

Inledning


Felmeddelandet ”Posten finns inte eller har tagits bort” är ett av de vanligaste och mest förbryllande problem som Odoo-användare stöter på. Det dyker ofta upp oväntat — när du öppnar ett formulär, försöker validera en post eller när ett automatiserat jobb körs.


Trots det dramatiska ordvalet handlar det i regel inte om korrupt data utan om en trasig referens: systemet pekar på något som inte längre finns där eller inte är åtkomligt.


Här förklarar vi vad som ligger bakom felet och visar praktiska, säkra sätt att hitta och rätta till orsaken.

Vad felet egentligen betyder


Kort sagt försöker Odoo slå upp en post med ett visst ID, men möter ett problem då detta ID:


  • Inte längre finns i databasen
  • Har tagits bort
  • Inte är åtkomligt på grund av rättigheter
  • Tillhör ett annat företag i en multi-company-miljö

Exempel för att förstå mekaniken:


record = self.env['res.partner'].browse(45)

Om posten med ID 45 saknas kommer Odoo att kasta felet.



Vanliga orsaker



1. Referenser till borttagna poster

Fält av typen Many2one kan fortfarande peka på poster som raderats eller arkiverats.


Detta uppstår ofta efter att man gjort rena manuella ändringar i databasen eller i användargränssnittet.


  • När användare manuellt tar bort poster utan att rensa beroenden
  • Rensning av testdata som slår ut beroande rader
  • Felaktiga eller avbrutna importjobb som lämnar länkar i limbo

2. Felaktiga externa ID-mappningar


Vid integrationer kan externa system skicka ID:n som inte stämmer överens med Odoos faktiska poster.

Om Odoo tar emot ett inkommande payload med en ogiltig referens:


{ "partner_id": 99999 }

Och denna partner inte finns i systemet — då uppstår felet.


3. Multi-company-begränsningar


Posten kan existera men vara utanför aktuell bolagskontext och därmed osynlig för användaren.

Att testa som administratör eller byta bolagskontekst visar ofta om detta är orsaken.


4. Problem efter uppgradering eller migration


Vid moduluppgraderingar eller migreringar kan referenser peka mot omstrukturerade eller förflyttade poster.

Så här åtgärdar du det


Steg 1 – Säkerställ att posten finns

Använd exists() innan du arbetar med en browse-instans: record = self.env['model.name'].browse(record_id) if record.exists(): # säkert att använda

Steg 2 – Kontrollera åtkomsträttigheter


Prova operationen med en administratörsanvändare.

Om admin ser posten men inte den vanliga användaren tyder det på en regel- eller åtkomstkonflikt.


Steg 3 – Rensa trasiga relationer


Sök upp och korrigera eller nollställ föräldrapekare (Many2one) som pekar mot icke-existerande poster.


Steg 4 – Granska externa integrationer


Gå igenom följande delar i din integrationskedja:


  • Inkommande API-payloads
  • Mappningslogik mellan system
  • Synkroniseringsmekanismer och felhantering

Ofta beror problemet i integrerade landskap på att ID-mappningen inte är robust.



Hur du förebygger det



  • Undvik att hårdkoda ID:n i integrationer eller skript
  • Använd externa identifierare (external IDs) och uppslag i stället
  • Validera inkommande data innan du försöker skapa relationer
  • Testa migrationer och integrationer i en stagingmiljö först
  • Ta inte bort poster som andra objekt refererar till utan att kontrollera beroenden


Hur Dasolo undviker problem med saknade poster


Felet uppstår i regel när relationer mellan modeller blivit inkonsekventa. Det kan triggas i UI men roten är oftast raderade poster, brutna relationer eller direkta databasändringar utanför ORM:s kontroll.


På Dasolo ser vi detta fel som en signal om strukturella brister snarare än ett isolerat fel. Det pekar ofta på:


  • Saknade eller föräldralösa relationspekare
  • Bristfälliga rutiner för borttagning och livscykelhantering
  • Mismatch i integrationer mellan system
  • Brist på validering innan poster nås eller ändras
  • Otillräcklig hantering av multi-company-kontekster

För att motverka problemen bygger vi Odoo-lösningar med tydliga regler för dataflöde: arkiveringsstrategier i stället för direkta raderingar, konsekvent användning av ORM och valideringslager som fångar fel tidigt. Det minskar oförutsedda undantag i produktion.



Sammanfattning


Sammanfattningsvis uppstår Odoos ”Posten finns inte” när systemet försöker nå en post som saknas eller inte skapats korrekt. Vanligare än rena borttagningar är att relationer eller dataintegrationer är bristfälliga.


Genom att upprätthålla en konsekvent relationsmodell, kontrollera att poster verkligen finns innan åtkomst, och undvika direkta databasmanipulationer kan man kraftigt minska förekomsten av sådana fel. Ett välstrukturerat Odoo-system bygger på förutsägbara flöden och tydlig datahantering.


Att åtgärda orsaken till felet stärker inte bara den omedelbara stabiliteten utan förbättrar också systemets långsiktiga pålitlighet och minskar risken för återkommande incidenter.

Vanliga frågor


Inte nödvändigtvis — ofta är posten bara otillgänglig i aktuell kontext eller under vissa användarrättigheter.

Ja. Automatiska synkroniseringsjobb kan brytas om referenser saknas eller är felaktiga.

Endast om du är säker på att inga andra poster refererar till dem; annars är arkivering eller ren referenskontroll bättre praxis.


Så Fixar Du Felet ”Record Does Not Exist Or Has Been Deleted” I Odoo
Elisa Van Outrive 17 februari 2026
Dela detta inlägg
Logga in att lämna en kommentar