Show number of paid members in member list
Member filtering also applies to this feature. Moved 'last_paid' Subquery to Member method
This commit is contained in:
+7
-2
@@ -3,8 +3,7 @@
|
||||
from django.db import models
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.db.models import Q
|
||||
|
||||
from django.db.models import Q, F, OuterRef, Subquery
|
||||
import csv
|
||||
|
||||
|
||||
@@ -126,5 +125,11 @@ class Member(BaseMember):
|
||||
return qs
|
||||
|
||||
|
||||
def get_members_with_latest_payment(members_query):
|
||||
"""Return QuerySet of given members QS with last_paid attribute."""
|
||||
latest = Payment.objects.filter(member=OuterRef('pk')).order_by('-date')
|
||||
return members_query.annotate(last_paid=Subquery(latest.values('date')[:1]))
|
||||
|
||||
|
||||
# To avoid problems with a cyclical import, this is at the bottom of the file
|
||||
from members.forms import MemberForm # nopep8
|
||||
|
||||
Reference in New Issue
Block a user