我正在尝试在我的管理页面中搜索“ vanKit”字段。 “ vanKit”是一个ForeignKey,每当我将其添加到我的search_fields列表中时,就会出现此错误“相关字段的查找无效:​​icontains”。这是我的代码:

型号

class KitSupplies(models.Model):
    supplyName = models.ForeignKey(supplies, on_delete=models.CASCADE)
    vanKit = models.ForeignKey(van_kit, on_delete=models.CASCADE)
    quantity = models.PositiveSmallIntegerField(blank=False)
    def __str__(self):
        return str(self.supplyName)
    class Meta:
        verbose_name_plural = 'Kit Supplies'


管理员

class KitSuppliesAdmin(admin.ModelAdmin):
    list_display = ('supplyName', 'vanKit', 'quantity')
    search_fields = ['vanKit']

admin.site.register(KitSupplies, KitSuppliesAdmin)


我尝试使用search_fields = ['vanKit__name'],就像建议的其他堆栈溢出答案一样,但这对我不起作用。谁能解释我为什么会收到此错误以及如何解决该错误?我正在使用Django 2.1和python 3.7。提前致谢!

最佳答案

因此我弄清楚了,我不得不使用“ search_fields = ['vanKit__van_kit_name']” van_kit_name是用于保存通过外键与“ vanKit”相关的van_kit模型中的van kit的名称的字段。我必须访问在实际的van_kit模型中保存货车套件名称的Char字段。

09-13 06:23