_sql_constraints
यह PostgreSQL डेटाबेस तरफ बाधा सेट हो जाएगा मतलब है।
_sql_constraints = [
('email_uniq', 'unique(email)', ' Please enter Unique Email id.'),
]
कहाँ:
email_uniq
का मतलब बाधा नाम,
unique(email)
मतलब है unique
बाधा का नाम है। email
एक फ़ील्ड नाम है जो उस क्षेत्र पर बाधा लागू करेगा।
'Please enter Unique Email id.'
एक संदेश है और जब यह बाधा का उल्लंघन किया जाएगा तो यह पॉप-अप विंडो पर प्रदर्शित होगा।
_constraints
पाइथन बाधा है। हम बाधाओं को सेट करने के लिए हमारे तर्क दे सकते हैं।
_constraints = [
(_check_qty_and_unitprice, u'Qty must be more than 0', ['product_qty', 'cost_unit']),
]
कहाँ: उदाहरण के लिए:
_check_qty_and_unitprice
एक समारोह का नाम जहां हम अपने तर्क लागू करने की आवश्यकता है।
'Qty must be more than 0'
संदेश है और यह पॉप-अप विंडो पर प्रदर्शित करेगा जब बाधा का उल्लंघन किया जा सकता है (अजगर फ़ंक्शन False
)।
['product_qty', 'cost_unit']
फ़ील्ड नाम की एक सूची है जिसका अर्थ है कि इन दोनों क्षेत्रों के लिए बाधा आ जाएगी।
नई Odoo एपीआईpython constraint
के रूप में एक नए और सरल डेकोरेटर की है। नीचे दिया गया उदाहरण इस प्रकार लिखा जा सकता है:
from openerp.exceptions import ValidationError
@api.constraints('product_qty', 'cost_unit')
def _check_something(self):
for record in self:
if record.product_qty < 1:
raise ValidationError("Qty must be more than 0")
स्रोत
2015-07-31 04:20:47