openerp - AttributeError: 'NoneType' object has no attribute 'get_default_company' -


  वर्ग बिक्री (osv.osv): _name = 'sale' _columns = {'name': fields.char ('कंपनी का नाम', आकार = 128)} def get_default_company (स्वयं, सीआर, यूआईडी, प्रसंग = कोई नहीं): कंपनी_आईडी = सेल्फ पॉयल.एट ('रिज। यूज़र')। ब्राउज़ करें (सीआर, यूआईडी, यूआईडी)। कॉम्पैनी_आईडी .id, return company_id बिक्री ()   

मैं कोड के ऊपर प्रयोग किया है, सब ठीक है लेकिन मुझे नहीं पता कि मेरे फ़ंक्शन को कैसे और कैसे कॉल करें get_default_company () । जैसा कि मैं इस पद्धति को कॉल करता हूं जैसे

  cr और uid invalids    

ऐसा लगता है कि आपको अपनी कंपनी के लिए डिफ़ॉल्ट मान सेट करने की आवश्यकता है इसके लिए आपको _defaults मॉडल विशेषता का उपयोग करना होगा जो आपके फ़ील्ड के लिए डिफ़ॉल्ट मान सेट करता है। जैसे

  _defaults = {'company_id': get_company}   

इस विधि से आपको get_company विधि को परिभाषित करने की आवश्यकता है जिसे कंपनी आईडी जैसे वापस करना चाहिए

  def get_company (स्वयं, सीआर, यूआईडी, प्रसंग = कोई नहीं): user_rec = self.pool.get ('res.users')। ब्राउज़ करें (सीआर, यूआईडी, यूआईडी, प्रसंग) यूज़र_रेक कॉम। आईडी   

और यह सब आपको _columns में एक फ़ील्ड की आवश्यकता है। इसलिए आपको company_id को many2one फ़ील्ड के रूप में जोड़ना होगा। जैसे

  _columns = {'name': fields.char ('कंपनी का नाम', आकार = 128), 'company_id': fields.many2one ('res.company', "कंपनी") }   

यह सब बदलें आपका मॉडल ऐसा दिखेगा,

  वर्ग की बिक्री (osv.osv): _name = 'sale' _columns = {'name' ('कंपनी का नाम', आकार = 128), 'कंपनी_आईडी': फ़ील्ड्स। माईयाऑन ('रिस्क कॉपैनी', 'कंपनी')} डीईएफ़ get_company (स्वयं, सीआर, यूआईडी, प्रसंग = कोई नहीं): user_rec = ब्राउज़ करें (सीआर, यूआईडी, यूआईडी, प्रसंग) यूज़र_रेक कॉमप्यानी_आईडी.आईडी _डीफाल्ट = {'कम्पनी_आईडी': get_company} बिक्री ()    p> आशा यह मदद करता है!   

Comments

Popular posts from this blog

c++ - Cmake produces file extensions in static library archives -

c# - Roxy file manager in MVC doesn't accept session path -

c# - Check if a NumericUpDown has no value -