我最近一直在与 dajngo-filter 作斗争。我有 2 个模型:书籍和作者。
class Book(models.Model):
title = models.CharField(max_length=150)
author = models.ForeignKey(Author, on_delete=model.CASCADE)
length = models.PositiveIntegerField()
class Author(models.Model):
first_name = models.CharField(max_length=150)
last_name = models.CharField(max_length=150)
year_of_birth = models.DateFiled()
Run Code Online (Sandbox Code Playgroud)
所以,我想制作一个过滤页面,您可以在其中通过书籍的属性(标题、作者等)和有关作者的信息找到书籍。例如少于300页的书,作者年龄在20-25岁之间。
在filters.py中我有:
import django_filters
from .models import Book, Author
class BookFilter(django_filters.FilterSet):
class Meta():
model = Book
fields = ['title', 'author']
Run Code Online (Sandbox Code Playgroud)
并且实际上不知道如何通过不同的模型进行过滤,这些模型通过外键与图书模型相关。
我对 Dajngo 的经验很少,我想知道这是否是一个非常复杂的问题。:) 谢谢!