Skip to Content

Contributors

Re: Please share your thoughts on the use of `x_` prefix for custom fields in Odoo

I took a quick read and yes it is a misunderstanding of the documentation. If reading a specific section about creating custom models over RPC calls, do not try and apply it to module development in general. All the documentation is correct as is Daniel's statement. Just a misread.

On Wed, Jun 19, 2024 at 9:19 AM Graeme Gellatly <graeme@moahub.nz> wrote:
Before Odoo studio, there was another frontend editor, like way back in v5. But it is only for fields created through the UI, not modules. Never modules, it would be a nonsense.  The only time you would use in a module is if it contained dynamic field creation, e.g. like studio, or you have some kind of variable dynamic model like say custom field service worksheets. I think this is simply a misunderstanding of the documentation.

On Tue, Jun 18, 2024 at 12:16 AM Frederik Kramer <notifications@odoo-community.org> wrote:
Thanks Pedro, thanks Christian and Francesco for your comments,

i think the first appearance of that magical "x_" was long before Odoo 
Studio even existed but i do definitely agree that backend UI changes 
done with Odoo Studio (or earlier through Developer Tools and Plain BE 
functions) should be avoided in any production grade DB. However, 
technically forbid to use that "methods" is not all too simple (if the 
customer pretends to have certain rights on his landscape) or comes from 
an origin where nobody even told them ;-)

To me it seems (i.e. would be my conclusion) that Odoo S.A. always 
wanted to have that "x_" prefix and the community mostly ignored it (if 
i remember well, i have occassionaly seen app store modules that 
followed this 'requirement').

Now what bothers me most is that Odoo S.A. isn't consistent either on 
the matter and obviously never forced to comply (would have been easily 
possible).

So probably we we better follow the "wisdom of the crowd" altogether and 
continue to ignore that "magic convention".

Best Frederik

Am 17.06.24 um 13:43 schrieb Pedro M. Baeza:


> IMO, that prefix must only apply to fields created through UI / Odoo 


> Studio, not on community modules. And if you have to maintain that DB, 


> I advise you to forbid both Odoo Studio and manual field creation.


>


> Regards.


>


> _______________________________________________


> Mailing-List: https://odoo-community.org/groups/contributors-15


> Post to: mailto:contributors@odoo-community.org


> Unsubscribe: https://odoo-community.org/groups?unsubscribe


>


-- 
Dr.-Ing. Frederik Kramer
Geschäftsführer

initOS GmbH
Innungsstraße 7
21244 Buchholz i.d.N.

Tel:   +49 (0) 4181 13503 12
Fax:   +49 (0) 4181 13503 10
Mobil: +49 (0) 179 3901819

Email: frederik.kramer@initos.com
Internet: www.initos.com

Geschäftsführung:
Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke

Sitz der Gesellschaft: Buchholz i.d.N.
Amtsgericht Tostedt, HRB 205226
USt-IdNr.: DE815580155
Steuer-Nr: 15/200/53247

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe


by "Graeme Gellatly" <graeme@moahub.nz> - 11:31 - 18 Jun 2024

Reference

  • Please share your thoughts on the use of `x_` prefix for custom fields in Odoo

    Hello Odoo contributors,

    I'd love to hear your opinion on whether or not one should consistently prefix custom fields and models with `x_`. While there are valid reasons to do so, this convention is either not general or often overlooked in the community. Please share your insights on ir ir when it is required and why it may be missing from some guidelines (e.g., https://www.odoo.com/documentation/17.0/contributing/development/coding_guidelines.html#). I'd really love discuss this topic to enhance our common understanding and best practices in the Odoo ecosystem. Thank you for sharing your opinions

    Best regards,
    Frederik

    Hint: Daniel Reis for instance claims "The field name field entry must start with the x_ prefix. This is mandatory for models and fields created from the developer tools. Customizations made through addon modules don't have this limitation."  in https://subscription.packtpub.com/book/business-and-other/9781800200067/2/ch02lvl1sec09/adding-a-custom-field-to-a-model and Odoo itself pretends "Custom model names must start with x_."  in https://www.odoo.com/documentation/17.0/developer/reference/external_api.html but leaves the convention unaddressed in https://www.odoo.com/documentation/17.0/contributing/development/coding_guidelines.html#

    For whom it may concern: SAP is requiring similar prefixes since very early versions of its ABAP programming and costumization iterface https://help.sap.com/doc/saphelp_snc700_ehp01/7.0.1/en-US/c5/e4ade6453d11d189430000e829fbbd/content.htm?no_cache=true

    -- 
    Dr.-Ing. Frederik Kramer
    Geschäftsführer
    
    initOS GmbH
    Innungsstraße 7
    21244 Buchholz i.d.N.
    
    Tel:   +49 (0) 4181 13503 12
    Fax:   +49 (0) 4181 13503 10
    Mobil: +49 (0) 179 3901819
    
    Email: frederik.kramer@initos.com
    Internet: www.initos.com
    
    Geschäftsführung:
    Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
    
    Sitz der Gesellschaft: Buchholz i.d.N.
    Amtsgericht Tostedt, HRB 205226
    USt-IdNr.: DE815580155
    Steuer-Nr: 15/200/53247

    by Frederik Kramer - 12:16 - 17 Jun 2024