小编ric*_*rdk的帖子

将自定义方法与 Django SimpleListFilter 一起使用

本质上,我的问题是,无论我过滤什么内容,以下设置都会返回管理页面中的整个查询集。

模型.py

from django.db import models

class Booking(models.model):
    client = models.ForeignKey(Client)
    reference = models.CharField(max_length=100)
    ....

    def __unicode__(self):
        return self.reference

class Client(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField(null=True, blank=True)
    ...

    def __unicode__(self):
        return self.name  

    def total_bookings(self):
        return len(self.booking_set.all())

    def bookings0(self):
        if self.total_bookings() == 0:
            return True

    def bookings1(self):
        if self.total_bookings() == 1:
            return True

    def bookings2(self):
        if self.total_bookings() == 2:
            return True

    def bookings3plus(self):
        if self.total_bookings() > 2:
            return True

...
Run Code Online (Sandbox Code Playgroud)

管理员.py

from django.contrib import admin
from django.contrib.admin import SimpleListFilter
from …
Run Code Online (Sandbox Code Playgroud)

django admin function filter django-models

2
推荐指数
1
解决办法
2071
查看次数

标签 统计

admin ×1

django ×1

django-models ×1

filter ×1

function ×1