2016-11-08 14 views
5

मैं सीएसवी आयात का उपयोग कर ओडू में नए ग्राहक डेटा आयात करने की कोशिश कर रहा हूं। एक फ़ील्ड customer_id_no है जो रिकॉर्ड बनने पर ऑटो उत्पन्न होता है ("ir.sequence" का उपयोग करके)।ओडू में सीएसवी आयात में "ir.sequence" फ़ील्ड को ओवरराइड कैसे करें?

अब सीएसवी में प्रत्येक ग्राहक के रिकॉर्ड के लिए एक अनूठा customer_id_no है, लेकिन जब मैं इसे आयात करने का प्रयास, मौजूदा customer_id_no मानक अनुक्रम द्वारा ओवरराइड है।

मैं ओएसयू में सीएसवी से डेटा कैसे डाल सकता हूं?

इसके अलावा मैं कई क्षेत्रों को आयात करने का उत्तर नहीं ढूंढ पाया। उस पर कोई मदद महान होगा।

+0

मैं कभी भी 'customer_id_no' फ़ील्ड में नहीं आया हूं। क्या यह हो सकता है कि यह क्षेत्र एक कस्टम क्षेत्र है? आयात एक मॉडल के निर्माण() का उपयोग कर रहा है, और जब यह अनुक्रम उपयोग अच्छी तरह से लागू नहीं किया जाता है, तो आप इसके बारे में कुछ भी नहीं कर सकते हैं, लेकिन इस कार्यान्वयन को बदल रहे हैं। एक अनुक्रम का उपयोग करने के एक अच्छे कार्यान्वयन के लिए एक उदाहरण लेकिन डेटा के आयात की अनुमति मॉडल 'sale.order' है। – CZoellner

+0

फ़ील्ड 'customer_id_no' कस्टम मॉड्यूल में एक कस्टम फ़ील्ड है और अनुक्रम के लिए कोड कस्टम मॉड्यूल में भी लिखा गया है। –

+0

@CZoellner मैंने सेटिंग्स -> तकनीकी -> अनुक्रमों और पहचानकर्ताओं से अनुक्रम को अक्षम करने का भी प्रयास किया और फिर मैंने डेटा आयात किया, लेकिन दुर्भाग्यवश यह काम नहीं किया। –

उत्तर

0

@CZoellner सही है। आपको अपनी विधि बदलनी है।

@api.model 
def create(self, vals): 
    vals['customer_id_no'] = mechanics_to_generate_sequence() 
    return super(ClassName, self).create(vals) 

यह इस मामले में जहां customer_id_no प्रदान की जाती है पता करने के लिए की जरूरत है: यह कुछ इस तरह होगा। जैसा इस

@api.model 
def create(self, vals): 
    if not vals.get('customer_id_no'): 
     vals['customer_id_no'] = mechanics_to_generate_sequence() 
    return super(ClassName, self).create(vals) 

ध्यान दें कि बाद में आप customer_id_no में सबसे अधिक मूल्य के बगल में करने के लिए अगले चरण अनुक्रम बनाने के लिए की आवश्यकता होगी।

संबंधित मुद्दे