我正在尝试在我的管理页面中搜索“ 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字段。