توسعه Odoo

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

7

برای اینکه بتونیم هشدارها(Warning) هایی که در مورد indexed در اودوو ۱۶ برای ما نمایش میدهد چه کاری انجام دهیم؟

در اودوو ۱۶ این پارامتر برای فیلدها تغییر کرده و میتونیم اون رو به جای اینکه بنویسیم :

indexed=True

بایدنوشته بشه :

index=True

تا اون هشداری که بابت این به ما میدهد برطرف شود.    

آواتار
انصراف
1 پاسخ
5
آواتار
آرش استادیان
بهترین پاسخ

indexed یک پارامتری است که در فیلدهای مدلهای اودو میتوانید استفاده کنید تا مشخص کنید که آیا فیلد شما در پایگاه داده ایندکس شود یا خیر. ایندکس کردن فیلدها میتواند به سرعت جستجو و عملکرد سایت شما کمک کند، اما همچنین میتواند منجر به افزایش حجم پایگاه داده و کاهش سرعت بروزرسانی دادهها شود. بنابراین، شما باید با دقت از این پارامتر استفاده کنید.

در نسخه ۱۶ اودو، اگر شما از پارامتر indexed در فیلدهای خود استفاده کنید، ممکن است هشداری را درباره عواقب آن دریافت کنید. برای مثال، اگر شما در یک مدل custom یک فیلد با نام name داشته باشید و آن را indexed قرار دهید، ممکن است پیام زیر را ببینید:

The field 'name' is indexed, this can have a significant impact on the size of your database and the performance of your system. Only index fields that are frequently searched and/or sorted.

این هشدار به شما نشان میدهد که استفاده از indexed در فیلدهایی که به صورت مکرر جستجو یا مرتب میشوند مناسب است و در غیر این صورت ممکن است به سیستم شما آسیب بزند. برای حذف این هشدار، شما دو راهکار دارید:

• حذف پارامتر indexed از فیلدهای خود: اگر شما فکر میکنید که فیلد شما نیاز به ایندکس ندارد و تاثیر چندانی در جستجو یا مرتب سازی ندارد، شما میتوانید پارامتر indexed را از تعریف فیلد خود حذف کنید. برای مثال، در کد زیر:

from odoo import api, fields, models
class CustomModel (models.Model):
_name = 'custom.model'
name = fields.Char (indexed=True)

باید indexed=True را حذف کنید:

from odoo import api, fields, models
class CustomModel (models.Model):
_name = 'custom.model'
name = fields.Char ()

• افزودن پارامتر index_warning=False به فیلدهای خود: اگر شما فکر میکنید که فیلد شما نیاز به ایندکس دارد و تاثیر مثبتی در جستجو یا مرتب سازی دارد، شما میتوانید پارامتر index_warning=False را به تعریف فیلد خود اضافه کنید تا هشدار را غیرفعال کنید. برای مثال، در کد زیر:

from odoo import api, fields, models
class CustomModel (models.Model):
_name = 'custom.model'
name = fields.Char (indexed=True)

باید index_warning=False را اضافه کنید:

from odoo import api, fields, models
class CustomModel (models.Model):
_name = 'custom.model'
name = fields.Char (indexed=True, index_warning=False)

آواتار
انصراف