簡體   English   中英

使用多個外鍵的 Django 過濾器

[英]Django Filter using multiple Foreign Keys

我正在嘗試制作一個 django 過濾器來過濾基於使用外鍵連接的多個模型的值。 我的模型看起來像:

model test1(models.Model):
    name=models.CharField()
    ..........some more fields
models test2(models.Model):
    name = models.CharField()
    code  = models.CharField()
models test3(models.Model):
    name = models.CharField()
    code  = models.CharField()
model test4(models.Model):
    first = models.ForeignKey(test1, on_delete=models.CASCADE)
    second = models.ForeignKey(test2, on_delete=models.CASCADE, blank=True, null=True)
    third = models.ForeignKey(test3, on_delete=models.CASCADE, blank=True, null=True)

我想從 test1 制作一個過濾器來過濾 test2 和 test3 值。 此外,模型 test4 中的第二個或第三個字段中的一個且只有一個每次將為空。

目前我正在嘗試使用 django_filters 但無法查找這些字段。 我該如何接近

您可以使用兩個連續的下划線 ( __ ) 過濾相關模型:

from django_filters import CharFilter, FilterSet

class ProductFilter(FilterSet):
    first_name = CharFilter(field_name='first__name')
    second_code = CharFilter(field_name='second__code')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM