Django 如何重用现有的管理模型来显示自定义查询集?
我正在用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
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