Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何重用现有的管理模型来显示自定义查询集?_Django_Python 3.x_Django Admin - Fatal编程技术网

Django 如何重用现有的管理模型来显示自定义查询集?

Django 如何重用现有的管理模型来显示自定义查询集?,django,python-3.x,django-admin,Django,Python 3.x,Django Admin,我正在用Django编写我的第一个应用程序,现在已经涵盖了基础,我尝试对管理部分进行一些增强,以简化我的生活 我的模型中有两个类: class Puzzle(models.Model): puzzle_pieces = models.ForeignKey(PuzzlePieces,on_delete=models.CASCADE) class PuzzlePieces(models.Model): puzzle_pieces = models.CharField(max_len

我正在用Django编写我的第一个应用程序,现在已经涵盖了基础,我尝试对管理部分进行一些增强,以简化我的生活

我的模型中有两个类:

class Puzzle(models.Model):
    puzzle_pieces = models.ForeignKey(PuzzlePieces,on_delete=models.CASCADE)

class PuzzlePieces(models.Model):
    puzzle_pieces = models.CharField(max_length=255, default='empty')
管理模型也已就位:

class PuzzlePiecesAdmin(admin.ModelAdmin):

class PuzzleAdmin(admin.ModelAdmin):
我想在PuzzlePiecesAdmin类中定义一个自定义动作来显示(重用PuzzleAdmin中定义的格式)链接到所选拼图块的所有拼图

我知道如何创建自定义操作

def show_related_puzzles(modeladmin, request, queryset):
我在互联网上看到了在PuzzleAdmin类中直接过滤的不同方式, 但不是如何从外部设置查询集

但我不明白如何启动PuzzleAdmin实例的显示,该实例仅限于我将在show_相关的_拼图中定义的queryset

有人能告诉我怎么做吗


提前感谢

好的,我在下面找到了答案的开头:

标准变更列表视图接受普通queryset筛选器参数作为GET参数。因此,您可以:


/admin/puzzles/puzzle/?puzzle\u pieces\u pk=21

通过反复试验,我终于发现了如何添加另一个过滤器:

/admin/puzzles/puzzle/?difficulty__id__exact=35&puzzle__pk=560

有谁能告诉我如何为同一个参数添加第二个值吗?

好的,我找到了解决方案:我们使用“\uu in”过滤器:/admin/puzzles/puzzle/?puzzle\u pieces\uu pk\uu in=21,22