Django 如何在管理页面添加双过滤器添加模型(外部字段项)

时间:2021-03-11 11:19:33

标签: django django-admin

class BodyPart(models.Model):
    name = models.CharField(max_length=100)


class Exercise(models.Model):
    name = models.CharField(max_length=200)
    body_part_primary = models.ForeignKey(BodyPart, on_delete=models.CASCADE)



class ExerciseTracker(models.Model):
    time = models.DateField(auto_now_add=True)
    exercise = models.ForeignKey(Exercise, on_delete=models.CASCADE)

在上面的代码中,Excercise 模型包含了 BodyPart 模型作为外键。 在管理页面上添加新的 ExerciseTracker 条目时,它会显示外键的下拉列表。 但是如何在运动追踪器中添加基于 BodyPart 的运动过滤器?使该字段为双下拉

1 个答案:

答案 0 :(得分:0)

您可以使用双下划线 (__) 将这些添加到搜索字段以“通过”关系查看:

from django.contrib import admin

class ExerciseTrackerModelAdmin(admin.ModelAdmin):
    search_fields = ['exercise__body_part_primary__name']
相关问题