python Django字段错误:IntegerField不支持查找“类别”,或不允许在字段上联接

im9ewurl  于 2022-11-28  发布在  Python
关注(0)|答案(1)|浏览(111)

我有一个Django表格,我想根据类别过滤数据表。但是我得到了FieldError。
我尝试在www.example.com中以这种方式定义筛选字段filters.py:

kategorie = django_filters.CharFilter(label="Kategorie", field_name="ucet__cislo__kategorie__jmeno", lookup_expr='icontains')

我在www.example.com中有以下模型结构models.py:

class Data(models.Model):
    ucet = models.ForeignKey(Ucty, on_delete=models.CASCADE, null=True, blank=True)

class Ucty(models.Model):
    cislo = models.IntegerField("Účet", blank=True, null=True)

class Mustek(models.Model):
    ucet = models.ForeignKey(Ucty, on_delete=models.CASCADE)
    kategorie = models.ForeignKey(Kategorie, on_delete=models.CASCADE)

class Kategorie(models.Model):
    jmeno = models.CharField("Kategorie", max_length=20, blank=True, null=True)

知道如何在筛选器中更正field_name定义吗?

cgfeq70w

cgfeq70w1#

由于cisloIntegerField,因此您无法在此加入。但是,您可能希望反向在Mustek上加入,因此:

kategorie = django_filters.CharFilter(
    label='Kategorie',
    field_name='ucet__mustek__kategorie__jmeno',
    lookup_expr='icontains',
)

相关问题