小编zor*_*ka5的帖子

Django-filterforeignKey相关Model过滤

我最近一直在与 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 的经验很少,我想知道这是否是一个非常复杂的问题。:) 谢谢!

django search model filter django-filter

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

django ×1

django-filter ×1

filter ×1

model ×1

search ×1