Sunday, 15 February 2015

python - Django How to iterate over list returned from ldap to save new object -


मेरे पास निम्न मॉडल है:

  class SystemUsers (models.Model): username = models.CharField (MAX_LENGTH = 25) DISPLAYNAME = models.CharField (MAX_LENGTH = 100) PhoneNumber = models.BigIntegerField (MAX_LENGTH = 10) EmailAddress = models.EmailField (MAX_LENGTH = 100) employeeNumber = models.CharField (MAX_LENGTH = 7) firstName = models.CharField (MAX_LENGTH = 20) lastName = models.CharField (MAX_LENGTH = 30)  

मैं एक ldap क्वेरी जो सक्रिय निर्देशिका से निम्न लौट रहा है:

  user_details = [] परिणामों में प्रवेश के लिए: user_details.append (प्रवेश [1] [ 'sAMAccountName'] [0] .lower ()) user_details.append (प्रवेश [1] [ 'DISPLAYNAME'] [0]। Replace (",", "")) user_details.append (प्रविष्टि [1] ['टेलीफोन नंबर'] [0] .रेले ("-", "")) user_details.append (प्रविष्टि [1] ['मेल'] [0] .्लॉवर ()) user_details.append (प्रविष्टि [1] [ 'EmployeeID'] [0] .lower ()) user_details.append (प्रवेश [1] [ 'givenName'] [0]) user_details.append (प्रवेश [1] [ 'एस.एन.'] [0]) वापसी user_details   

मुझे उम्मीद के अनुसार परिणाम मिल रहा है लेकिन मैं इसे सूची में पाटने के लिए सिस्टमयूसर (....) में नहीं पार्स कर सकता। मैं जो सभी मिलता है वह एक सूची है, जिसके लिए मैं लूप नहीं कर सकता या इसके लिए वैरिएबल सेट नहीं कर सकता।

जब मैं user_details: print (item) में आइटम के लिए

  करता हूं  

मेरे पास सभी मूल्यों की 7 पंक्तियाँ हैं मैं ऐसा नहीं कर सकता, ताकि आइटम [0] उपयोगकर्ता नाम, आइटम [1] है, डिस्प्ले नाम, इत्यादि।

आप उपयोगकर्ता डेटा के साथ एक शब्द बना सकते हैं और kwargs जादू का उपयोग कर सकते हैं:

  field_names = ('username', 'displayName', 'phoneNumber' 'EmailAddress', 'employeeNumber', 'firstName', 'lastName',) डेटा = dict (ज़िप (FIELD_NAMES, user_details) SystemUser.objects.create (** डेटा)  

BTW यह एक बेहतर विचार प्राप्त करने के लिए है हो सकता है user_details शुरुआत

  user_details = { 'उपयोगकर्ता नाम' से एक शब्दकोश के रूप में:? प्रविष्टि [1] [ 'sAMAccountName' ] [0]। (), 'DisplayName': प्रविष्टि [1] ['displayName'] [0] .स्थल (",", ""), 'फ़ोन नंबर': प्रविष्टि [1] ['टेलीफोन नंबर'] [ 0]। ("-", ""), 'ईमेल पता': प्रविष्टि [1] ['मेल'] [0]। कमांडर (), 'कर्मचारीनाम': प्रविष्टि [1] ['कर्मचारीआईडी'] [0] .लॉवर (), 'प्रथमनाम': प्रविष्टि [1] ['दिया गया'] [0], 'अंतिम नाम': प्रविष्टि [1] ['sn'] [0],} SystemUser.objects.cre खाया (** user_details)  

No comments:

Post a Comment