如何在django admin中获取自定义列的总和?

如何在django admin中获取自定义列的总和?,django,django-models,django-views,django-templates,django-admin,Django,Django Models,Django Views,Django Templates,Django Admin,我有这个管理员 class UserMemberAdmin(AdminImageMixin, BaseUserAdmin): """User Member.""" change_list_template = "admin/ggbeats/user_member/change_list.html" list_display = ('username', 'email', 'get_member

我有这个管理员

class UserMemberAdmin(AdminImageMixin, BaseUserAdmin):
    """User Member."""
    change_list_template = "admin/ggbeats/user_member/change_list.html"
    list_display = ('username', 'email', 'get_member_gems_balance', 'gems_transaction_link', 'topup_payment_link', 'date_joined', 'is_staff')
    ordering = ['-date_joined']

    search_field = ['username', 'email']
    fieldsets = (
        (None, {'fields': ('email', 'username', 'password')}),
        (_('Personal info'), {
            'fields': ('first_name', 'last_name', 'phone_number', 'birth_date', 'gender', 'picture',)
        }),
        (_('Game info'), {
            'fields': ('game_id', 'nickname', 'is_gamer', 'is_alert', )
        }),
        (_('Permissions'), {
            'classes': ('collapse',),
            'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions', 'role'),
        }),
        (_('Important dates'), {
            'classes': ('collapse',),
            'fields': ('last_login', 'date_joined', 'confirmed_at')
        }),
    )
def get_member_gems_balance(self, obj):
        """Get member gems balance."""
        return gems_transaction_services.get_member_gems_balance(obj)
    get_member_gems_balance.short_description = 'GEMS'
我将这样的自定义列添加到此管理员

class UserMemberAdmin(AdminImageMixin, BaseUserAdmin):
    """User Member."""
    change_list_template = "admin/ggbeats/user_member/change_list.html"
    list_display = ('username', 'email', 'get_member_gems_balance', 'gems_transaction_link', 'topup_payment_link', 'date_joined', 'is_staff')
    ordering = ['-date_joined']

    search_field = ['username', 'email']
    fieldsets = (
        (None, {'fields': ('email', 'username', 'password')}),
        (_('Personal info'), {
            'fields': ('first_name', 'last_name', 'phone_number', 'birth_date', 'gender', 'picture',)
        }),
        (_('Game info'), {
            'fields': ('game_id', 'nickname', 'is_gamer', 'is_alert', )
        }),
        (_('Permissions'), {
            'classes': ('collapse',),
            'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions', 'role'),
        }),
        (_('Important dates'), {
            'classes': ('collapse',),
            'fields': ('last_login', 'date_joined', 'confirmed_at')
        }),
    )
def get_member_gems_balance(self, obj):
        """Get member gems balance."""
        return gems_transaction_services.get_member_gems_balance(obj)
    get_member_gems_balance.short_description = 'GEMS'
现在,我想在
{%block result\u list%}{{block.super}}gems中添加我的自定义列“get\u member\u gems\u balance”的总数:{{cl.gems\u count}{%endblock%}
from
change\u list.html

我在管理中创建这个

class MyChangeList(ChangeList):

    def get_results(self, *args, **kwargs):
        super(MyChangeList, self).get_results(*args, **kwargs)
        q = self.result_list.aggregate(gems_sum=Sum('get_member_gems_balance'))
        self.gems_count = q['gems_sum']
并调用了我的UserMemberAdmin

def get_changelist(self, request):
        return MyChangeList
但结果却是这样的错误

Cannot resolve keyword 'get_member_gems_balance' into field. Choices are: birth_date, confirmationcode, confirmed_at, date_joined, email, first_name, game_id, game_server_member, gameservertoken, gems_transaction_member, gems_transaction_reference, gender, groups, id, inboxthread, is_active, is_alert, is_gamer, is_staff, is_superuser, last_login, last_name, logentry, nickname, password, phone_number, picture, role, sent_messages, social_auth, topup_payment_member, user_permissions, user_threads, username
我认为这是因为get_member_gems_balance不是该模型中的实际字段。我怎样才能克服这个问题?
谢谢你的帮助

你有@property()装饰师在“获取成员”和“宝石”余额上吗?没有,我没有,我应该添加那个属性吗@是的,它检测到它不是一个属性。所以我只是在def get_member_gems_balance上面添加@property?