/ / django पंजीकरण: 'contrib.auth.models.User' का विस्तार करने के लिए अद्यतित 'कैननिकल' तरीका क्या है - django, django-models, django-admin, django-form

django पंजीकरण: 'contrib.auth.models.User' का विस्तार करने के लिए अद्यतित 'कैननिकल' तरीका क्या है - django, django-models, django-admin, django-form

परिसर:

1) पर्यावरण: डीजेंगो 1.3, पायथन 2.6, देव: कई प्लेटफार्मों में, प्रोड: आरएचईएल

2) मैं साइट कर्मचारियों को उपयोगकर्ताओं को जोड़ने के लिए सक्षम करना चाहता हूं(व्यवस्थापक साइट से)। जिस तरह से वे केवल एक पृष्ठ "उपयोगकर्ता नाम", "ईमेल", "पासवर्ड 1", पासवर्ड 2 "और" first_name "," last_name "," phone "," skype "पर भरते हैं।" ठीक "पर क्लिक करें और यह हो गया है ।

3) मैंने दस्तावेज़ों और वेब के माध्यम से खोज की हैकेवल पुराने पुराने स्रोत, गैर-कामकाजी विचार और कुछ स्रोत जो काम कर सकते हैं लेकिन डीजेंगो को संशोधित करने के साथ सौदा करते हैं (जिसे मुझे तैनाती और बनाए रखने में मुश्किल होती है)

इस नौकरी को सबसे साफ (आसान, पारदर्शी, सरल जो भी) तरीके से करने के लिए आपकी युक्तियां क्या हैं?

अब तक, यह आलेख और इसकी टिप्पणियां सबसे उपयोगी स्रोत थीं जो मैंने पाया है: http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

धन्यवाद

उत्तर:

जवाब के लिए 2 № 1

मेरा मानना ​​है कि ऐसा करने का अनुशंसित तरीका UserProfile के माध्यम से है:

#models.py
class MySiteProfile(models.Model):
user = models.ForeignKey(User, unique=True)
join_date = models.DateField()
# and whatever additional fields you want

#admin.py
from django.contrib.auth.admin import UserAdmin

admin.site.unregister(User)

class MyUserAdmin(UserAdmin):
inlines = [MySiteProfileInline, ]

admin.site.register(User, MyUserAdmin)


#inlines.py
class MySiteProfileInline(admin.TabularInline):
model = MySiteProfile