return super(ParamValueInline,self).formfield_for_foreignkey(db_field,request,**kwargs)自己返回自己的父类

作者:刘强胜
链接:https://www.zhihu.com/question/30361435/answer/83940591
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

super不是指向父类, 而是指向mro中的下一个类, 所以你继承的这个mixin子类, 他会去继承另外一个类, 源码里面是ListView, 所以super返回的是ListView.

class A(object):
    def __init__(self):
        print(self.__class__.__mro__)

    def bark(self):
        print("I‘m A")
        super(A, self).bark()

class B(object):
    def bark(self):
        print("I‘m B")

class C(A, B):
    def bark(self):
        print("I‘m C")
        super(C, self).bark()

if __name__ == ‘__main__‘:
    c = C()
    c.bark()

运行结果:

(<class ‘__main__.C‘>, <class ‘__main__.A‘>, <class ‘__main__.B‘>, <class ‘objec
t‘>)
I‘m C
I‘m A
I‘m B

因为源码里面是
class IndexView(BaseMixin,ListView):
所以BaseMixin里面调用的super(BaseMixin, self).get_context_data(**kwargs), 实际上是调用的ListView的方法

时间: 2024-10-10 09:13:48

return super(ParamValueInline,self).formfield_for_foreignkey(db_field,request,**kwargs)自己返回自己的父类的相关文章

mvn deploy 报错:Return code is: 400, ReasonPhrase: Bad Request. ->

mvn deploy 报错:Return code is: 400, ReasonPhrase: Bad Request. -> TEST通过没有报错,但是最终部署到Nexus中时出现错误. 后检查发现,pom中的上传releases 和 snapshots的配置颠倒了. 要跟nexus上的配置一对一对应 来自为知笔记(Wiz) ,mamicode.com" style="color:#ffffff" target="_blank">mvn d

WCF问题集锦:ReadResponse failed: The server did not return a complete response for this request.

今日.对代码进行单元測试时.发现方法GetAllSupplyTypes报例如以下错误: [Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes. 经过对照.唯一的差异是该方法返回的数据对象是一个继承于还有一个集合对象的对象,代码例如以下: /// <summary> /// SupplyType的值的集合 //

Extjs4.0以上版本 Ext.Ajax.request请求的返回问题

Ext.Ajax.request({ url: posturl, method: 'POST', params: { ClassName: 'XXXX', FuncName: 'XXXX', param: param }, success: function (response) { var text = response.responseText; if (text == "false") { Ext.MessageBox.hide(); Ext.MessageBox.alert(&

[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.

待解决 待解决问题 原文地址:https://www.cnblogs.com/qy1234/p/9154845.html

Request.QueryString/Form 返回值类型 与 CInt()

一直以为 Request.QueryString/Form 找不到指定的变量时会返回空字符串. 其实不然,Request.QueryString/Form 找不到指定的变量时,返回值的类型是 Empty. Empty 是 Variant 的子类型. CInt() 不接受空字符串,但是却可以接受 Empty 类型. 下面是关于 VBScript 数据类型的一些介绍. VBScript 只有一种数据类型,称为 Variant. Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别

return的值是一个赋值表达式时,返回的是右边的值

<script> function fbb() { var a={}; return a.b=0;//返回的是等号右边的值0: } console.log(fbb()) </script> 原文地址:https://www.cnblogs.com/mengdiezhuangzhou/p/9757897.html

Django admin的一些有用定制

Model实例,myapp/models.py: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() # On Python 3: def __str__(self): def __unicode__(self): return self.name class Author(models.Model):

Django admin操作

  无名小妖     昵称:无名小妖园龄:1年6个月粉丝:22关注:1 +加关注 搜索 常用链接 我的随笔 我的评论 我的参与 最新评论 我的标签 我的标签 Python(1) python3(1) 随笔分类 python3(171) zabbix(10) 前端(5) 算法(9) 随笔档案 2018年2月 (9) 2018年1月 (20) 2017年12月 (2) 2017年11月 (1) 2017年9月 (14) 2017年8月 (6) 2017年7月 (7) 2017年6月 (58) 201

Django1.11.4中文文档

Django管理站点¶ 自动管理界面是Django最强大的部分之一.它从您的模型中读取元数据,以提供一个快速,以模型为中心的界面,让受信任的用户可以管理您网站上的内容.管理员建议的使用仅限于组织的内部管理工具.它并不打算构建你的整个前端. 管理员有很多自定义钩子,但要小心尝试独占使用这些钩子.如果您需要提供一个更加以流程为中心的接口,以抽象出数据库表和字段的实现细节,那么可能是编写自己的视图的时候了. 在本文中,我们将讨论如何激活,使用和自定义Django的管理界面. 概述¶ 管理员在默认的项目