def __init__(self, *a, **k): forms.ModelForm.__init__(self, *a, **k) self.fields["primary_member"].queryset = self.instance.members.all() self.fields[ "subscription_members"].queryset = MemberDao.members_for_subscription( self.instance) self.fields[ "subscription_members"].initial = self.instance.members.all()
def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'member': if self.parent_obj is None: kwargs['queryset'] = MemberDao.members_for_create_subscription() elif self.parent_obj.state == 'waiting': kwargs['queryset'] = MemberDao.members_for_future_subscription(self.parent_obj) elif self.parent_obj.state == 'inactive': kwargs['queryset'] = MemberDao.all_members() else: kwargs['queryset'] = MemberDao.members_for_subscription(self.parent_obj) return super().formfield_for_foreignkey(db_field, request, **kwargs)
def __init__(self, *a, **k): forms.ModelForm.__init__(self, *a, **k) self.fields['primary_member'].queryset = self.instance.recipients if self.instance.pk is None: self.fields['subscription_members'].queryset = MemberDao.members_for_create_subscription() elif self.instance.state == 'waiting': self.fields['subscription_members'].queryset = MemberDao.members_for_future_subscription( self.instance) elif self.instance.state == 'inactive': self.fields['subscription_members'].queryset = MemberDao.all_members() else: self.fields['subscription_members'].queryset = MemberDao.members_for_subscription( self.instance) self.fields['subscription_members'].initial = self.instance.recipients_all
def get_queryset(self, request): queryset = super().get_queryset(request) request.GET = request.GET.copy() name = request.GET.pop('qs_name', ['all'])[0] subscription_id = request.GET.pop('sub_id', ['0'])[0] if name == 'cs': return MemberDao.members_for_create_subscription() elif name == 'fs': subscription = Subscription.objects.get(id=int(subscription_id)) return MemberDao.members_for_future_subscription(subscription) elif name == 's': subscription = Subscription.objects.get(id=int(subscription_id)) return MemberDao.members_for_subscription(subscription) return queryset