(admin.E108) The value of 'list_display[0]' refers to 'productname', which is not a callable, an attribute of 'ProductAdmin', or an attribute or method on 'product.Product'.
models.py
# 创建产品表
class Product(models.Model):
productName = models.CharField('产品名称', max_length=64) # 产品名称
productDesc = models.CharField('产品描述', max_length=200) # 产品描述
producter = models.CharField('产品负责人', max_length=200) # 产品负责人
create_time = models.DateTimeField('创建时间', auto_now=True) # 创建时间,自动获取当前时间 class Meta:
verbose_name = "产品管理"
verbose_name_plural = '产品管理' def __str__(self):
return self.productName
admin.py
class ProductAdmin(admin.ModelAdmin):
list_display = ['productname', 'productDesc', 'producter', 'create_time', 'id']
inlines = [ApisAdmin] admin.site.register(Product, ProductAdmin) # 把产品模块注册到Django admin后台并能显示
执行后:
D:\autotestplat>python manage.py makemigrations
SystemCheckError: System check identified some issues: ERRORS:
<class 'product.admin.ProductAdmin'>: (admin.E108) The value of 'list_display[0]' refers to 'productname', which is not a callable, an attribute of 'ProductAdmin', or an attribute or method on 'product.Product'.
错误指 在admin.py文件中 'ProductAdmin' 的属性 list_display[0] (即productname) 在models.py 文件中的 Product类中找不到
查找源代码可发现在ProductAdmin类中为productname,而在Product中为 productName,两边未对应,所以报以上错
代码更改并运行:
admin.py
class ProductAdmin(admin.ModelAdmin):
list_display = ['productName', 'productDesc', 'producter', 'create_time', 'id']
inlines = [ApisAdmin] admin.site.register(Product, ProductAdmin) # 把产品模块注册到Django admin后台并能显示
运行:
D:\autotestplat>python manage.py makemigrations
Migrations for 'product':
product\migrations\0001_initial.py
- Create model Product
Migrations for 'apitest':
apitest\migrations\0001_initial.py
- Create model Apis
- Create model Apistep
- Create model Apitest
- Add field Apitest to apistep
Migrations for 'bug':
bug\migrations\0001_initial.py
- Create model Bug
(admin.E108) The value of 'list_display[0]' refers to 'productname', which is not a callable, an attribute of 'ProductAdmin', or an attribute or method on 'product.Product'.的更多相关文章
- <class 'blog.admin.CategoryAdmin'>: (admin.E108) The value of 'list_display[0]' refers to 'mame', which is not a callable, an attribute of 'CategoryAdmin', or an attribute or method on 'blog.Category'
系统反馈此类错误是因为行列映射时无法对应: 引起无法对应的原因有: 定义是缺少某列,定义时缩进导致,映射关系时缺少某列,(通俗讲列名对应不上). 这种错误多是python中的 因为其中对于空格的要求是 ...
- (admin.E108) The value of 'list_display[4]'报错解决方案
参考资料:虫师-<web接口开发与自动化测试:基于python语言> 日常学习Django框架中,创建了用户模型,但是页面功能验证时候,提示不能进行列表字段操作,debug好久,才找到问题 ...
- python 一周总结
从7月27前就开始了Djangoj框架的学习到今天一个项目实战已经过了一半了, django给我的感觉就像一个成熟的mov 首先是是数据模型层,Django已经成熟的加入了很多的数据模型供我们所使用 ...
- bbs-admin
目录 引入单例----单例补充 admin---url/注册的自定义配置 解析admin源码 django-admin注册账号-----创建超级用户 python manage.py createsu ...
- Django admin操作
无名小妖 昵称:无名小妖园龄:1年6个月粉丝:22关注:1 +加关注 搜索 常用链接 我的随笔 我的评论 我的参与 最新评论 我的标签 我的标签 Python(1) python3 ...
- 5 Django系列之通过list_display展示多对多与外键内容在admin-web界面下
list_display展示多对多关系的内容 表结构关系 表一 class Server(models.Model): asset = models.OneToOneField('Asset') cr ...
- 4.django笔记之admin
作者:刘耀 QQ:22102107 django-Admin django amdin是django提供的一个后台管理页面,改管理页面提供完善的html和css,使得你在通过Model创建完数据库表之 ...
- django admin site配置(二)
1. ModelAdmin.inlines 将有外键的子类包含进视图 ,实例: class Author(models.Model): name = models.CharField(max_leng ...
- Django admin进阶
1. ModelAdmin.inlines 将有外键的子类包含进视图 ,实例: class Author(models.Model): name = models.CharField(max_leng ...
- Django admin 组件 原理分析与扩展使用 之 sites.py (一)
一 . 前言 Django 提供了admin 组件 为项目提供基本的管理后台功能(对数据表的增删改查). 本篇文章通过 admin源码 简单分析admin 内部原理 ,扩展使用方式,为以后进行定制和自 ...
随机推荐
- 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记
论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...
- PAT (Basic Level) Practice (中文)1015 德才论 分数 25
宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...
- 工业互联网领域的企业,都已经接入了ERP或者MES系统了吗?
肯定不是得啊!之前的两化,后来的企业上云,到当下的智能制造.数字化转型,不都是想把制造业(也就是你说的工业互联网企业)往这个方向推么,ERP和MES是企业数字化的一部分,但不是全部,当然有的企业(小工 ...
- 2020-2021 Winter Petrozavodsk Camp, Belarusian SU Contest (XXI Open Cup, Grand Prix of Belarus) 题解
题目列表 C. Brave Seekers of Unicorns D. Bank Security Unification G. Biological Software Utilities I. B ...
- Java19虚拟线程都来了,我正在写的线程代码会被淘汰掉吗?
Java19中引入了虚拟线程,虽然默认是关闭的,但是可以以Preview模式启用,这绝对是一个重大的更新,今天Java架构杂谈带大家开箱验货,看看这家伙实现了什么了不起的功能. 1 为什么需要虚拟线程 ...
- 220403 考试爆炸记 (T1T2)
T1 最大约数和 先放一下我考时的代码.(没想到能A过洛谷的数据,可能是洛谷的数据有点弱) #include<bits/stdc++.h> using namespace std; int ...
- Go Micro介绍与入门
一 什么是Micro? Micro是一个微服务生态系统,致力于提供产品,服务和解决方案,以实现现代软件驱动型企业的创新.我们计划成为任何与微服务相关的事实资源,并期待公司能够利用这项技术为自己的业务. ...
- 微信支付更新功能,商户转账到零钱 php版 (2022-10-12更新)
<?php class WechatMerchantTransfer { /** * @notes 商家转账到零钱 * @param $batch_no //提现订单号 * @param $le ...
- MasaFramework -- 异常处理
前言 在程序设计中,我们会遇到各种各样的异常问题,一个异常处理不仅仅可以帮助开发者快速的定位问题,也可以给用户更好的使用体验,那么我们在AspNetCore项目中如何捕获以及处理异常呢? 而对应Asp ...
- Scanner的用法 从键盘输入
先导入包 import java.util.Scanner; 后输入 Scanner Sc=new Scanner(System.in); //(Sc可以自定义,无实质意义) int i; i=Sc. ...