选择后django admin过滤数据

django admin filter data after selection

在管理员中,是否可以从字段中的实时输入中过滤选择:

class ReadtToday(models.Model):
    author =  models.ForeignKey(Authors)                           # field 1)
    book = models.OneToOneField(Books, related_name='bookofday')   # field 2)

现在在 1) 和 2) 的管理员中得到了所有这些的列表,我应该如何继续获得此行为:

select author from field 1) autoupdate field 2) list with only data from current selected author selected by field 1).

class BooksList(admin.ModelAdmin):
    def get_queryset(self, request):
        qs = super(BooksList, self).get_queryset(request)           
        return qs.filter(HowCanIGetAuthor=from_input_of_field_1)

是否可以使用 raw_id_fields 将字段 1) 选择应用于过滤字段 2)?

最简单的方法是将作者选择实现为提交类型为 GET 的表单,并检查 ModelAdmin class

中的 request.GET
<form method="GET">
   <select name="author">
        <option>An author</option>
   </select>
</form>

def get_queryset(self, request):
    author = request.GET['author']
    qs = super(BooksList, self).get_queryset(request)           
    return qs.filter(author=author)