首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AdminModel对象没有属性'obj‘

AdminModel对象没有属性'obj‘
EN

Stack Overflow用户
提问于 2017-02-21 02:04:46
回答 1查看 641关注 0票数 1

我有多个类型字段的模型,在我的AdminModel类的管理面板中,我使用以下代码:

代码语言:javascript
运行
AI代码解释
复制
def get_object(self, request, object_id, to_field):
    # Hook obj for use in formfield_for_manytomany
    self.obj = super(GoalAdmin, self).get_object(request, object_id)
    return self.obj

def formfield_for_manytomany(self, db_field, request, **kwargs):
    if db_field.name == "reviewers":
        kwargs["queryset"] = Goal.objects.get(id=self.obj.id).reviewers.all()
    return super(GoalAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)

它工作很好,直到我尝试从管理面板添加目标。而不是我得到这个错误:

代码语言:javascript
运行
AI代码解释
复制
'GoalAdmin' object has no attribute 'obj'

我怎么才能修好它?

UPD:错误发生在这里:

代码语言:javascript
运行
AI代码解释
复制
 kwargs["queryset"] = Goal.objects.get(id=self.obj.id).reviewers.all() 
Variable    Value
self       <goals.admin.GoalAdmin object at 0xa7d472cc>
db_field    <django.db.models.fields.related.ManyToManyField: reviewers>
request     <WSGIRequest: GET '/goals/goal/add/'>
kwargs      {}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-21 02:31:01

您的错误可能发生了,因为get_object没有在formfield_for_manytomany运行的地方被调用。

也许有办法解决这个问题,但这确实是错误的方法。这类事情应该通过定义自定义表单并在admin类中使用来完成。

代码语言:javascript
运行
AI代码解释
复制
class GoalAdminForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(GoalAdminForm, self).__init__(*args, **kwargs)
        if self.instance is not None:
            self.fields["reviewers"].queryset = Goal.objects.get(id=self.instance.id).reviewers.all()

class GoalAdmin(admin.ModelAdmin):
    form = GoalAdminForm
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42364269

复制
相关文章
vue select当前value没有更新到vue对象属性
vue是一款轻量级的mvvm框架,追随了面向对象思想,使得实际操作变得方便,但是如果使用不当,将会面临着到处踩坑的危险,写这篇文章的目的是我遇到的这个问题在网上查了半天也没有发现解决方案,最终研究了vue的源码中有关select元素的部分找到了答案,下面简单介绍我踩的关于select的一个坑:
johnhuster的分享
2022/03/29
2.8K0
C++对象模型_Class Obj作为函数参数
开发环境 VC6.0 编辑器 Cmd Markdown 关于C/C++中基本类型(如:int,int*等)作为函数参数时,是通过将该变量的值压栈来进行参数传递;本文通过C++反汇编代码分析了当对象作为函数参数时(该形参非引用或指针),参数如何传递以及此时栈帧的结构。 对象作为函数参数时,参数传递过程(如:函数的声明为:void show(class Object obj);该函数的调用的为show(arg);其中实参arg的类型为class Object):1,在栈顶上为obj对象分配内存空间,然
chinchao.xyz
2022/04/25
1.2K0
C++对象模型_Class Obj作为函数参数
3. 许愿墙后台管理系统(后端接口)
许愿墙的后台管理系统主要有4个模块:登录模块、首页模块、许愿管理模块和管理员管理模块。使用前后端分离方式,后端接口使用Express框架,前端使用Vue框架,页面使用Element组件。这节先实现后端接口。
爱学习的程序媛
2022/04/07
1.8K0
3. 许愿墙后台管理系统(后端接口)
js对象属性
相信对于对象属性大家都或多或少的知道一些,那么本文从属性说开去,看看大家对属性的了解是否有遗漏的部分。
RobinsonZhang
2018/11/07
15.8K0
jar中没有主清单属性啥意思啊_java没有主清单属性
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/04
1.8K0
Java没有对象编程
当初学Java,学面向对象真是痛苦呀,等到学到线程和锁,我是彻底牺牲了,后来......后来......经日月潭主周董指点迷津,给我唱了一首神曲,从此,Java学会了,工作找到了,升职加薪,赢取白富美
范蠡
2018/04/04
8300
如何删除对象的某个属性(对象属性方法是什么)
const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };
全栈程序员站长
2022/07/29
4.6K0
JavaScript之面向对象的概念,对象属性和对象属性的特性简介
  一、大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象。但ECMAScript(指定JavaScript标准的机构,也就是说JavaScript是实现其标准的扩展)并没有类的概念,因此他的对象和基于类的语言中的对象有所不同,ECMAScript把对象定义为:"无需属性的集合,其属性可以包含基本值、对象或者函数"。严格的来说,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正应为这样,我们可以把
郑小超.
2018/01/24
2.4K0
VBA对象属性概述
上节概述了对象模型的基础知识,而对象的学习重点其实就是它们的属性和方法,不同对象都有诸多不同的属性和方法,后期将从常用对象的属性和方法循序渐进的展开。
无言之月
2019/10/13
1.6K0
JavaScript——对象的属性
在JavaScript中,所有的对象都是一组属性的集合,属性可以是数值,字符串等原始类型,也可以是函数,或者是其他对象。
Html5知典
2019/11/26
2.5K0
给js对象添加属性和方法属性_js给json对象添加属性
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/01
20.9K0
js删除对象属性
对于你对delete运算符非常感兴趣,可以查看kangax写的一篇关于delete语句的非常深入的文章,理解delete。
IT工作者
2021/12/29
16.1K0
对象属性的遍历
爱学习的前端歌谣
2023/10/24
2210
对象属性的遍历
详解Python对象属性
在面向对象编程中,公开的数据成员可以在外部随意访问和修改,很难控制用户修改时新数据的合法性。解决这一问题的常用方法是定义私有数据成员,然后设计公开的成员方法来提供对私有数据成员的读取和修改操作,修改私有数据成员时可以对值进行合法性检查,提高了程序的健壮性,保证了数据的完整性。属性结合了公开数据成员和成员方法的优点,既可以像成员方法那样对值进行必要的检查,又可以像数据成员一样灵活的访问。 Python 2.x中属性的实现有很多不如人意的地方,在Python 3.x中,属性得到了较为完整的实现,支持更加全面的保
Python小屋屋主
2018/04/16
1.3K0
深入 JS 对象属性
对象的普通属性将字符串名称映射到值。例如,下面对象obj有一个数据属性,名称为 prop,对应的值为 123:
前端小智@大迁世界
2019/09/10
8.6K0
.jar中没有主清单属性[通俗易懂]
问题:xxx.jar中没有主清单属性 背景:maven项目,springboot服务    IDEA打包,jar包运行出现上述错误
全栈程序员站长
2022/10/04
3.7K0
.jar中没有主清单属性[通俗易懂]
jar中没有主清单属性
我今天遇到了一个报错… 我仔细一看发现jar包才893KB大小 检查了一下打包配置,发现: 这块少了个repackage配置… <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> 加上就可以了 再次打包就好了
阿超
2022/08/21
2.1K0
jar中没有主清单属性
JS操作对象属性(获取、添加、删除、修改对象属性)
属性也称为名值对,包括属性名和属性值。属性名可以是包含空字符串在内的任意字符串,一个对象中不能存在两个同名的属性。属性值可以是任意类型的数据。
用户7741497
2022/03/19
16.6K0
JS 对象属性相关--检查属性、枚举属性等
delete只是断开属性和宿主对象的联系,而不会去操作属性中的属性  看到delete a.p之后b.x仍然为1
书童小二
2018/09/03
5.9K0
Python 类对象和实例对象访问属性的区别、property属性
下面的一个小demo,定义了一个省份类  Province ,即类对象 Province ,开辟了一块内存空间,空间中存放着 类属性 country 和 __init__()方法 。
用户7886150
2020/12/20
3.7K0

相似问题

Django 'NoneType‘对象没有属性'obj’

13

AttributeError: HashingTF对象没有属性“_java_obj”

11

vtkOBJReader对象没有对象(.obj)文件的属性SetFileNameMTL (.mtl)。

117

Tastypie外键关系'dict‘对象没有属性'obj’

13

Django:按自定义属性排序AdminModel

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文