• 0

كيف أتأكد من انتماء مستخدم إلى مجموعة معينة في دجانغو؟

قمت بإنشاء مجموعة في موقع إدارة دجانغو (Django's admin site) وأريد أن أضع شيفرة برمجية للتأكد من انتماء عنصر معين إلى هذه المجموعة، فما الطريقة الصحيحة لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يوجد عدة طرق في إطار دجانغو لفعل ذلك، فيمكنك الوصول إلى المجموعات التي ينتمي إليها مستخدم معين بكل سهولة عن طريق سمة groups للمستخدم كما يظهر في المثال التالي:

>>> from django.contrib.auth.models import User, Group
>>> group = Group(name="Editor")
>>> group.save()                  # save this new group for this example
>>> user = User.objects.get(pk=1) # assuming, there is one initial user
>>> user.groups.add(group)        # user is now in the "Editor" group
>>> user.groups.all()
[<Group: Editor>]

ومن الطرق الأخرى أيضا يمكنك تطبيق تابع filter إلى user.groups واستخدام دالة exists() للتأكد من وجوده كما في المثال التالي:

def is_member(user):
    return user.groups.filter(name='Member').exists()

وإذا أردت التأكد من وجود مستخدم معين في أكثر من مجموعة، فيمكنك في هذه الحالة استخدام عامل __in كالتالي:

def is_in_multiple_groups(user):
    return user.groups.filter(name__in=['group1', 'group2']).exists()

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن