मैं वैग्टेल सीएमएस के साथ Django का उपयोग कर रहा हूं और मैंने कक्षा उपयोगकर्ता से दो प्रॉक्सी मॉडल बनाए हैं। मैं प्रॉक्सी कक्षाओं से उपयोगकर्ता निर्माण पर एक समूह जोड़ने के लिए चींटी हूं। मैंने संकेतों को जोड़ने की कोशिश की, लेकिन जाहिरा तौर पर यह खुराक प्रॉक्सी मॉडल पर काम नहीं करती है।
इसलिए सेव करने पर मैं शिक्षकों को Teachers
समूह में और छात्रों को Students
में जोड़ना चाहूंगा
#models.py
class User(AbstractUser):
class Types(models.TextChoices):
STUDENT = "STUDENT", "Student"
TEACHER = "TEACHER", "Teacher"
type = models.CharField(_('Type'), max_length=50, choices=Types.choices, default=Types.STUDENT)
class Student(User):
class Meta:
proxy: True
def save(self, *args, **kwargs):
if not self.pk:
self.type = User.Types.STUDENT
return super().save(*args, **kwargs)
class Teacher(User):
class Meta:
proxy: True
def save(self, *args, **kwargs):
if not self.pk:
self.type = User.Types.TEACHER
return super().save(*args, **kwargs)
0
Filip Simin
25 पद 2020, 20:11
1 उत्तर
सबसे बढ़िया उत्तर
आप इसे save
विधि के अंत में कर सकते हैं:
class Student(User):
class Meta:
proxy: True
def save(self, *args, **kwargs):
creating = not self.pk
if creating:
self.type = User.Types.STUDENT
super().save(*args, **kwargs)
if creating:
self.groups.add(Group.objects.get(name='Students'))
1
gasman
25 पद 2020, 20:55
संबंधित सवाल
1
मैं एक नेस्टेड सीरिएलाइज़र के रूप में एक असंबंधित मॉडल से एक क्वेरीसेट को क्रमबद्ध कैसे कर सकता हूं?
नए सवाल
django
Django एक ओपन-सोर्स सर्वर-साइड वेब एप्लीकेशन फ्रेमवर्क है जिसे पायथन में लिखा गया है। यह कम कोड, विशेष-अतिरेक पर विशेष ध्यान देने और निहित से अधिक स्पष्ट होने के साथ जटिल डेटा-संचालित वेबसाइटों और वेब एप्लिकेशन बनाने के लिए आवश्यक प्रयास को कम करने के लिए डिज़ाइन किया गया है।