2009-09-05 8 views
10

मैं Django- पंजीकरण का उपयोग कर रहा हूं और फ़ॉर्म में केवल 3 फ़ील्ड (उपयोगकर्ता नाम, ईमेल, पासवर्ड, और पुनः पासवर्ड) है, लेकिन मैं अंतिम नाम और पहला नाम क्यों नहीं जोड़ सकता ??Django, उपयोगकर्ता को पहले नाम और अंतिम नाम के साथ पंजीकृत करें?

रूप में सभी ठीक है पर उपयोगकर्ता मॉडल की सिर्फ 3 तर्क स्वीकार करता है:

new_user = User.objects.create_user(username, email, password) 

लेकिन कारण है कि मैं ऐसा नहीं कर सकते:

new_user = User.objects.create_user(username, email, password, first_name ,last_name) 

Django प्रलेखन कुछ नहीं कहा केवल 3 तर्कों के बारे में; नेट पर सभी ट्यूटोरियल सिर्फ 3 तर्कों का उपयोग करें ...

क्यों ?? या मैं पहले और अंतिम नाम का उपयोग कैसे करूं?

उत्तर

21

मैंने किया:

new_user = User.objects.create_user(username, email, password) 
new_user.is_active = False 
new_user.first_name = first_name 
new_user.last_name = last_name 
new_user.save() 
+3

आप new_user.save() अंत में याद किया। – Pravel

3

मैं आप के चारों ओर एक रास्ता मिल गया है, लेकिन इस तरह से नीचे भी आपकी रुचि हो सकती। ऐसा इसलिए है क्योंकि इसे कीवर्ड तर्क की आवश्यकता होती है (जो उपयोगकर्ता की __init__ विधि को पारित की जाएगी)। https://docs.djangoproject.com/en/1.6/ref/contrib/auth/#manager-methods

User.objects.create_user("user1", "[email protected]", "pwd", first_name="First", last_name="Last") 
+1

यह थोड़ा क्लीनर महसूस करता है। और अब मैं ** kwargs और * args के बीच का अंतर जानता हूँ। – teewuane

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