related Field has invalid lookup: icontains 解决方法
2023-09-14 08:58:41 时间
models.py 文件
# coding:utf8
from django.db import models
class Book(models.Model):
name = models.CharField(max_length=255)
title = models.CharField(max_length=255)
price = models.IntegerField()
...
class Category(models.Model):
CATEGORY_CHOICES = (
('00', 'English'),
('01', 'Computer'),
)
book = models.ForeignKey(Book)
category = models.CharField(max_length=255, choices=CATEGORY_CHOICES)
remark = models.CharField(max_length=255)
...
admin.py 文件(以 category 为例)
转自:http://blog.sina.com.cn/s/blog_90bc5fc601012rk0.html
# coding: utf8
from django.contrib import admin
from django import forms
from .models import Category
class CategoryAdmin(admin.ModelAdmin):
search_fileds = ('book__name', 'book__title', 'book__price', 'category') # 设置搜索栏范围,如果有外键,要注明外键的哪个字段,双下划线
list_display = ('book', 'category') # 在页面上显示的字段,若不设置则显示 models.py 中 __unicode__(self) 中所返回的值
list_display_links = ('category') # 设置页面上哪个字段可单击进入详细页面
fields = ('category', 'book') # 设置添加/修改详细信息时,哪些字段显示,在这里 remark 字段将不显示
admin.site.register(Category, CategoryAdmin)
[说明]
在使用 Django admin 系统中的搜索时可能会出现“related Field has invalid lookup: icontains”错误,主要原因是外键查询是需要指定相应的字段的。外键不应该只是一个model,而该是另一个表的明确的一个字段。所以我们需要指定特定的字段 "本表外键字段__外键所在表需查询字段"。
相关文章
- java实现遍历树形菜单方法——struts.xml实现
- java中的类、成员变量、方法的修饰符。
- 字符串--java中判断字符串是否为数字的方法的几种方法?
- Android去掉标题的方法
- Python-GUI PyQT5编程:在其他py中导入及使用注册模块的方法
- Invalid character in the given encoding. Line XX, position XX.解决方法
- 【STM32H7】第22章 ThreadX GUIX窗口图标滑动操作实现方法
- JavaScript 三种创建对象的方法
- Java结束线程的三种方法(爱奇艺面试)
- 成功解决(六种方法大总结)UnicodeDecodeError utf-8 codec cant decode byte 0xd0 in position 3150: invalid con
- 成功解决./nvidia-installer: invalid option: "‐‐no‐opengl‐files" ERROR: Invalid commandline, please run `
- mysql全文索引FULLTEXT的哈希与BTREE方法对比
- Java中的抽象类和抽象方法是什么?概述到解析层层深入了解
- 确定方法返回位置为泛型的类型
- Go语言自学系列 | golang标准库os包和环境相关的方法
- 107:vue+openlayers 避免文字标签重叠的方法(示例代码)
- emplace_back与push_back方法的区别
- Kubernetes组件_Scheduler_01_将Pod指派给Node的四种方法