2014-07-19 2 views
6

मैं अपने आईपीएन के लिए अपने दृश्य में उपयोगकर्ताओं को बनाना और हटाना चाहता हूं।क्या यह d.pyango.contrib.auth.models.User का उपयोग करना उचित है?

django.contrib.auth.models import User 

या यह सब models.py में किया जाना चाहिए? यदि हां, तो मैं यह कैसे करूँगा?

सुनिश्चित नहीं हैं कि अगर यह तकनीकी रूप से गलत या सिर्फ बुरा शैली है। इतना

धन्यवाद!

+0

आप IPN द्वारा क्या मतलब है? क्या आपका मतलब 'तत्काल भुगतान अधिसूचना' पेपैल है ?? – suhailvs

उत्तर

5

मुझे लगता है कि सबसे अच्छा अभ्यास के बजाय django.contrib.auth.get_user_model() उपयोग करने के लिए है।

from django.contrib.auth import get_user_model 
... 

User = get_user_model() 

इस तरह अगर आप बाद में उस फैली हुई है या अंतर्निहित प्रमाणीकरण मॉडल ओवरराइड करता है एक Django एप्लिकेशन शामिल करने का फैसला चीजों को तोड़ने नहीं होगा (यह भी निर्भरता छोरों से संबंधित कीड़े के एक वर्ग से बचा जाता है)।

2

हाँ यह views.py में इसका उपयोग करना उचित है:

आप प्राप्त कर सकते हैं paulo scardine तरह उपयोगकर्ता मॉडल कहा अर्थात्:

User.objects.create_user(username='user2', password='pass') 

:

from django.contrib.auth import get_user_model 
User = get_user_model() 

अब उपयोगकर्ता बनाने के लिए अब उपयोगकर्ता को निकालने के लिए:

यह सलाह देते हैं है आप खातों को हटाने के बजाय गलत पर is_active ध्वज सेट है कि; इस तरह, यदि आपके अनुप्रयोगों के पास उपयोगकर्ताओं के लिए कोई विदेशी कुंजी है, तो विदेशी कुंजी टूट नहीं जाएंगी। doc

user_rem=User.objects.get(username='user2') 
user_rem.is_active=False 
user_rem.save() 
संबंधित मुद्दे