Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
176 Vistas

Hello, 

I'm using odoo.sh version 18.

I want to add a new Field to res.partner, througth _inherit. The Problem is im doing it on a already filled database with a lot of costum code an manual add entrys. 


Maybe someone can help. Thanks in advance.

I got the following error:


I cant post a picture besause of missing karma but hier a copy:

500: Internal Server Error

Vorlagen-Fallback

Ein Fehler ist bei der Darstellung der Vorlage aufgetreten portal.user_dropdown.

Wenn dieser Fehler durch eine von Ihnen vorgenommene Änderung in den Vorlagen verursacht wird, haben Sie die Möglichkeit, die Vorlage auf die Werkseinstellungen zurückzusetzen.

  • Portal User Dropdown

 

QWeb

Fehlermeldung:

Error while render the template
UndefinedColumn: column res_partner.booked_minimum_users does not exist
LINE 1: ...booked_pushes", "res_partner"."booked_last_sync", "res_partn...
                                                             ^

Template: portal.user_dropdown
Path: /t/t/li/a/span
Node: <span t-if="_user_name" t-attf-class="#{_user_name_class}" t-esc="user_id.name[:23] + \'...\' if user_id.name and len(user_id.name) &gt; 25 else user_id.name"/>

Der Fehler ist beim Rendering der Vorlage aufgetreten portal.user_dropdown und beim Evaluieren des folgenden Ausdrucks: <span t-if="_user_name" t-attf-class="#{_user_name_class}" t-esc="user_id.name[:23] + \'...\' if user_id.name and len(user_id.name) &gt; 25 else user_id.name"/>



Code:

rom calendar import monthrange

import logging

import uuid

import requests

import random

from datetime import datetime, date, timedelta

from .. import constants

from odoo import _, api, fields, models, Command

from dateutil.relativedelta import relativedelta

from odoo.exceptions import ValidationError


class ResPartner(models.Model):

    _inherit = "res.partner"

​#a lot of already added variabels

​#my code

​booked_minimum_users = fields.Integer(string="Mindestanzahl User (gebucht)", readonly=True, default=0)

#functions

Avatar
Descartar
Mejor respuesta

Hi,

You're encountering a 500 Internal Server Error in Odoo.sh (version 18) due to the booked_minimum_users field being added to the res.partner model in Python code via _inherit, but the corresponding column does not yet exist in the database. This happens when you add a new field to a model in code (especially a heavily customized one like res.partner), without upgrading the module that contains it. Odoo tries to render a template (in this case, portal.user_dropdown) that accesses a res.partner record, but fails because PostgreSQL throws an error saying the column res_partner.booked_minimum_users does not exist. This is a classic mismatch between the code and the database schema.

1. Upgrade from Odoo apps:

-Push your updated code to your Odoo.sh branch.

- Activate developer mode in Odoo.

-Navigate to Apps > Update Apps List.

-Then go to Apps, find your module (my_custom_module), and click Upgrade.


2. Auto Upgrade - Manifest


'version': '18.0.1.1.1',


Major version format will be “Odoo major version.x.y.z”.

If a module is developed in version 18.0, the version in the manifest will be  ‘version’: ‘18.0.1.0.0’,

Ie, X increments when any change happen in the data model or in case of a view.

Y increments when module upgrades needed situations to arise.

Z increments when bug fixes are made.


Hope it helps.

Avatar
Descartar