跳至內容
選單
此問題已被標幟
2 回覆
2211 瀏覽次數

I was doing research to understand how Odoo 13 works, and I want to add a customized field type like Title, short text, or long text and I want to map them to Odoo 13 as Odoo fields with additional constraints, so the question is:

1- How Odoo 13 store the constraint (func) of a custom model and link them with a specific model? 

For me, I want to create a transition layer to create my customized types in the Odoo world.

Thank you all for helping me ! 

頭像
捨棄
作者 最佳答案

@Axel Mendoza Thank you for helping me

I noticed that Odoo 13 has a feature that gives you the ability to create models & fields from the UI, my Idea is to build a feature like this one, but with bespoke field type, for example, a new field type "Title" which the user can type max of 50 characters or other customized constraints, so when I create a field with this type it should generate a new constraint to validate it, I already mapped the model and the basic fields with Odoo, in this stage I need to know how Odoo stores the constraints so I can do the same.

note: I can't do Python constraint because the model is created from the UI so I don't have a Python class or a code file

Any Ideas are welcome!


頭像
捨棄

So you are talking about sql constraints but not all of them are exactly constraints meaning that the length of a field it's part of it's definition like `character varying(64)`

作者

SQL constraints are not customized and it's stored in the database so if I want to add an a SQL constraints, I can use query like <<ALTER TABLE orders ADD CONSTRAINT check_revenue_positive CHECK (revenue >= 0);>> (I can't use sql_constrain[] because I don't have a python class or a code file), I want to find a way to replace @api.constraint() without actually code it, my idea was knowing how Odoo stores the python constraints so I can do same, so I can auto generate customized constraints and store it where Odoo stores python constraints so Odoo can take my constraints into consideration and run it like it is written in the file class

最佳答案

It's not very clear for me what you wanna do with your transition layer to create my customized types in the Odoo world.

But there are 2 types of constraints in Odoo.

  1.  SQL constraints: https://www.odoo.com/documentation/16.0/developer/tutorials/getting_started/11_constraints.html#sql
  2. Python constraints: https://www.odoo.com/documentation/16.0/developer/tutorials/getting_started/11_constraints.html#python

If you dynamically generate your custom models constraints into an Odoo module like if you have manually create it and Install it you could get whatever you want to do integrated completely with Odoo. 

If you are looking for a way to save the python constraints as data in order to execute it, I think you will need to also create that by yourself


頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
7月 17
3896
0
4月 16
3632
0
5月 20
4701
1
8月 25
813
1
8月 25
972