table:
CREATE TABLE `host` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cmdb_sn` varchar(32) NOT NULL,
`internal_ip` varchar(16) NOT NULL,
`external_ip` varchar(16) NOT NULL,
`idc_name` varchar(16) NOT NULL,
`status` enum('online','unused','repair') DEFAULT 'unused',
`description` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
CREATE TABLE `service` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`host_id` int(11) unsigned NOT NULL,
`port` int(10) unsigned NOT NULL,
....
PRIMARY KEY (`id`),
UNIQUE KEY `host_id` (`host_id`,`port`),
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1
model:
class Host(models.Model):
# id=models.IntegerField(max_length=10)
cmdb_sn= models.CharField(max_length=32)
internal_ip= models.CharField(max_length=16)
external_ip= models.CharField(max_length=16)
idc_name= models.CharField(max_length=16)
status = models.IntegerField(max_length=10)
description = models.CharField(max_length=32)
def __unicode__(self):
return '%s' %(self.internal_ip)
class Meta:
db_table = 'host'
ordering=['internal_ip']
class Service(models.Model):
host = models.ForeignKey(Host)
port= models.IntegerField(max_length=10)
role= models.IntegerField(max_length=10)
status= models.IntegerField(max_length=10)
description = models.CharField(max_length=32)
def __unicode__(self):
return '%s id:%s host:%s' %(self.port,self.id,self.host)
class Meta:
db_table = 'service'
ordering=['port']
admin:
class ServiceAdmin(admin.ModelAdmin):
list_display = ('port', 'host','role','status','description')
search_fields = ('id','port', 'host,'role','status')
service页面查询host时出错related Field has invalid lookup: icontains
改 search_fields =('id','port', 'host__internal_ip','role','status') ok~
class ServiceAdmin(admin.ModelAdmin):
list_display = ('port', 'host','role','status','description')
search_fields = ('id','port', 'host__internal_ip','role','status')
Related Field has invalid lookup: icontains。
原来外键查询是需要指定相应的字段的。外键不只是一个model,而该是另一个表的明确的一个字段。
所以我们需要指定特定的字段 "本表外键字段__外键所在表需查询字段"
参考:http://code.djangoproject.com/ticket/2331
Closing as Ian stated it was an error on his part. Ian: If there's still a problem with Django that needs to be fixed, please reopen.
分享到:
相关推荐
错误内容:related Field has invalid lookup: icontains 我原来默认认为在处理外键搜索的时候,django会自动将该外键的行数据以str()化之后进行搜索,但其实并不是这样的,如果将外键加入到搜索域中,需要明确写...
在尝试启动Nginx时,可能会遇到如下的错误提示:“sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory”。这通常意味着系统中缺少必要的...
在ROS(Robot Operating System)开发过程中,遇到`rlexception: invalid roslaunch xml syntax: no element found: line 1, column 0`这样的错误信息时,表明当前的`.launch`文件存在XML语法错误。具体来说,可能是...
- 使用Keil下载或调试程序时遇到的“Invalid ROM Table”错误提示需要英文阅读能力来理解和解决。 - 解决这个问题可能涉及到硬件和软件两方面的调试,包括检查硬件连接、电源、JTAG调试接口以及程序的配置设置等。 ...
cmake-3.18.1 64位安装包。官网下载的。
当轨迹点数量庞大时,直接渲染可能导致地图加载缓慢。为此,可以采用分段加载、动态加载、屏幕内点渲染等策略,提高用户体验。 9. **地图服务集成** 高德地图API还支持与其他服务集成,如实时交通状况、天气信息...
如果在使用 xadmin 时遇到类似的问题,比如使用 `search_fields` 报错 `RelatedField got invalid lookup: icontains`,这通常是因为 `search_fields` 中包含了非字符串类型的字段。解决这个问题的方法是删除 `...
"启动异常invalid constant type:15的解决方案" "启动异常invalid constant type:15"是一种常见的Java异常,主要是由于Java类加载机制中的一个bug所引起的。在Java中,类加载器会将class文件加载到内存中,并将其...
Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]: Bean property 'URIType' is not writable or has an invalid setter method. Does the parameter type ...
重装win7旗舰版系统后启动时提示invalid partition table的解决方法.docx
config.sub Invalid configuration `xxx': machine/OS `XXX' not recognized问题解决
在C++编程中,`std::invalid_argument` 是一个异常类,用于表示当函数或方法接收到不合法或无效的参数时抛出的错误。这个类是`std::logic_error` 的子类,而`std::logic_error` 又是`std::exception` 的子类。`std::...
### Google浏览器显示出错:status_invalid_image_hash #### 问题描述 在Windows 10系统上安装了最新版的Google Chrome浏览器后,在正常使用一段时间后突然出现了“STATUS_INVALID_IMAGE_HASH”的错误状态码,导致...
本文将详细讲解如何训练 Yolov5 模型,并解决训练时遇到的常见报错问题。 修改配置文件 要训练 Yolov5 模型,首先需要修改配置文件。在 data 文件夹下,需要修改 voc.yaml 文件,例如将其重命名为项目相关的文件,...
genymotion manager一直打不开,一直报如下错误, Loading Genymotion library Genymotion directory: G:\Genymotion Trying to initialize engine Invalid path: VBoxManage Initialize Engine: failed 因为少了这...
Python 爬虫之超链接 url中含有中文出错及解决办法 python3.5 爬虫错误: UnicodeEncodeError: 'ascii' codec can't encode characters 这个错误是由于超链接中含有中文引起的,超链接默认是用ascii编码的,所以不...
在`created()`、`mounted()`、`updated()`等钩子函数中,我们可以编写代码来初始化樱花的位置、加载图片资源或在数据变化时更新动画状态。 对于动画效果,Vue提供了`transition`和`transition-group`组件来实现过渡...