Admin 中 Django 的外键参考

2024-01-02

我一直在尝试在 Django admin 中解决这个问题,但仍然找不到文档。

In my 模型.py,我有以下代码:

from django.db import models

class Post(models.Model):
  title = models.CharField(max_length=200)
  author = models.ForeignKey('Author', blank=False)

class Author(models.Model):
  first_name = models.CharField('First Name',max_length=50)
  last_name = models.CharField('Last Name', max_length=50, blank=True)
  description = models.CharField(max_length=500, blank=True)

  def __str__(self):
    return (self.first_name + ' ' + self.last_name)

and in admin.py从 django.contrib 导入 admin

# Register your models here.
from .models import Author, Post

class PostAdmin(admin.ModelAdmin):
  list_display = ['title', 'author', 'get_author_description']

admin.site.register(Post, PostAdmin)

但是,每次运行服务器时,我都会收到错误

<class 'blog.admin.PostAdmin'>: (admin.E108) The value of         
'list_display[2]' refers to 'get_author_description', which is not a 
callable, an attribute of 'PostAdmin', or an attribute or method on 
'blog.Post'.

我已经阅读了很多有关此的文档,但仍然无济于事。有接受者吗?

最终编辑我决定保留最初提出问题的帖子。最终的解决方案只需要改变PostAdmin.

class PostAdmin(admin.ModelAdmin):
    list_display = ['title', 'author', 'author_description',]

    def author_description(self, obj):
        return obj.author.description
        author_description.short_description = 'The Author Description'

需要注意的关键事项是:

  • 方法author_description需要与类具有相同的缩进。另外,还需要返回obj.author.description正如我们所指的作者对象。get_author_description根本不需要(你可以说这是一种干扰)。

您可以在管理类中使用自定义方法,如下所示:

class PostAdmin(admin.ModelAdmin):

    list_display = ['title', 'author', 'author_description']

    def author_description(self, obj):
        return obj.author.get_author_description()

此外,您可以在自定义方法中自定义字段或属性的格式。如果该方法返回 HTML,您可以在类中的方法之后添加以下内容:

author_description.allow_tags = True

最后,如果您想为此方法添加自定义详细名称:

author_description.short_description = "My awesome name"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Admin 中 Django 的外键参考 的相关文章

  • 由于无法在 TTY 中工作,无法在 django 中创建超级用户

    我浏览了 djangoproject com 上的第一个 django 教程 并在第 2 部分的开头部分 即在运行时创建超级用户 python manage py createsuperuser 我收到以下消息 Superuser crea
  • 如何在 django 中获取复选框值?

    tr td td tr
  • Django 中的自定义默认文件存储

    我正在尝试使用自定义文件存储 https bitbucket org david django storages wiki S3Storage 我按照说明进行操作并将其放入我的 settings py DEFAULT FILE STORAG
  • Django 管理页面缺少 CSS

    我看到了这个question https stackoverflow com questions 3271731 djangos admin pages are missing their typical formatting style
  • 无法解码 JSON 对象 - tastypie -curl

    我逐字逐句地遵循 tastypie 教程 直到到达帖子部分 http django tastypie readthedocs org en latest interacting html creating a new resource po
  • 在javascript中将字符串数组转换为数组

    我从 django rest framework api 调用中得到以下项目 services service1 service2 service3 I want services service1 service2 service3 在我
  • 从 Django 模板中的 URL 访问 kwargs

    我可以在 Django 模板中访问命名参数的值 从 URL 吗 就像我可以访问的值this name下面来自 django 模板 url r area P
  • 未设置 Docker-compose 环境变量

    项目树 backend env dev docker compose dev yml project 我有以下警告 docker compose f docker compose dev yml up build i am in the b
  • Django Unittests 客户端登录:在测试套件中失败,但在 Shell 中失败

    我正在对我的主页视图进行基本测试 虽然可以从 shell 登录客户端 但在使用测试套件时 同一行代码无法登录客户端 使用 Django 测试套件时登录客户端的正确方法是什么 Or 知道为什么客户端没有使用我当前的方法登录吗 外壳测试 imp
  • 如何在Django中使用CreateView进行多个文件的上传?

    请帮我 我是 Django 新手 无法理解以下内容 我有 CreateView 的子类用于创建评论 我想创建一个项目 人们可以在其中留下评论并将文件 图像 附加到该评论中 人们应该可以在一张带有文本注释的表格上附加尽可能多的图像 我在互联网
  • Django 中的多种用户类型

    我是 Django 新手 尝试创建一个具有两种用户类型 自由职业者和客户 的应用程序 我了解如何创建用户配置文件类 它对我来说效果很好 class UserProfile models Model user models OneToOneF
  • 在 Django 中 AJAX 发布后重定向

    我使用 Django 的内置 DeleteView 并为success url属性 现在在我的模板中 我通过 JQuery 的 post 方法触发此视图 当该项目被删除时 我不会被重定向到success url 经过一番查找 发现好像是AJ
  • 添加到 models.py 后“NOT NULL 约束失败”

    我正在使用 userena 并将以下行添加到我的 models py 后 zipcode models IntegerField zipcode max length 5 点击注册表单上的提交按钮后 出现以下错误 IntegrityErro
  • django软删除不级联删除

    我在 django 管理中使用软删除 就像this http codespatter com 2009 07 01 django model manager soft delete how to customize admin 问题是 当我
  • 这种 Django 多个设置文件的方法合理吗?

    Question 我对以下多个 Django settings py 文件的处理方法是否合理 透明 安全等 我的方法 我有一个settings py and a settings local py settings py受版本控制并且set
  • 缩短 Python 导入?

    我正在开发一个 Django 项目 我们就这样称呼它吧myproject 现在我的代码到处都是myproject folder file function 无论如何 我是否可以消除为所有导入添加前缀的需要myproject 如果我想稍后重命
  • Django-Haystack 和 Solr 8.5.1

    Django haystack 是否适用于最新的 Solr 更新 8 5 1 另外我如何设置我的 Django 博客项目 CentOS 8 Solr 8 7 Django Oscar 3 0 1 安装Java yum update yum
  • 如何在 Django 中定义模型之间的多态关系?

    我正在开发一个 Django 应用程序 其中包含Offer模型 一个Offer实例包含定价条件并指向产品定义 产品模型实际上是一个层次结构 我有一个Television模型 一个Camcorder模型等 所以我想要Offer模型包含指向任何
  • Django:503 服务不可用

    Related 我对 Python 及其框架完全陌生 在学习了一些 Python 基础知识后 我只是尝试一下 Django Problem 现在我正在尝试在第一次安装后运行 Django 服务器 服务器运行没有任何错误 但是当我尝试访问该网
  • 使用OIL自动旋转手机和加速度计拍摄的照片

    我在网络应用程序中使用 Django PIL Amazon boto 用户发送图片 然后 Web 应用程序显示它 大多数情况下 人们会发送用手机拍摄的照片 有时 图像以错误的方向显示 有没有办法使用 PIL 或 Django 的 Image

随机推荐

  • 国际象棋:高分支因子

    我正在尝试开发一个简单的国际象棋引擎 但我在其性能方面遇到了困难 我已经通过 alpha beta 修剪和迭代加深 没有任何额外的启发式 实现了 Negamax 但是我无法获得超过 3 4 层的合理搜索时间 以下是我的程序从游戏开始时的日志
  • javax 邮件:UTF-8 编码问题

    我已经看到了几个与此相关的问题 但没有一个能解决我的问题 我有一封带有 pdf 附件的中文电子邮件 所有文本在包含在多部分电子邮件中之前都是有效的 UTF 8 Problem 电子邮件中的文本到达收件人时是垃圾字符 电子邮件标头显示其编码不
  • 从 iPhone 中的固定数字集生成随机数

    假设我有一组数字 即 1 6 3 5 7 9 我只想从这组数字生成随机数 即生成的数字应该是随机的 并且应该仅来自这些数字 1 6 3 5 7 9 标准 C C 函数也可以 arc4random set count 随机索引
  • python:如何根据 1 个列表中的内容从 2 个列表中删除值

    我有 2 个号码列表 其中一个名为xVar另一个叫yVar 我将使用这两个元素在图表上绘制 X 和 Y 值 它们都具有相同数量的元素 通常情况下 我只会绘制 ax scatter xVar yVar s 2 color tomato 我想从
  • 访问 symfony 2 中的 AppKernel 环境变量

    我正在使用 symfony 2 我们有 2 个配置 开发版和生产版 我需要知道是否可以找出我在实体或模型中使用的是哪一个 我正在寻找与 AppKernel php 中找到的代码类似的内容 this gt getEnvironment 如果我
  • 使用 Next.js 检索服务器端数据并保存在上下文中

    我希望能够从服务器端 API 检索数据 并将其加载到 React 上下文中 以便使其可供我的应用程序中的任何组件使用 我尝试过各种事情 但似乎没有什么能让我完全做我想做的事 我尝试过的一些事情包括 getServerSideProps 这允
  • Codeigniter 删除所有 html 标签

    你如何删除ALL带 codeigniter 的 HTML 标签 我猜你必须使用 PHP 函数strip tags 但我想要类似 XSS 过滤的全局设置 Thanks 如果您指的是使用input方法 是的 你可以从技术上开放system li
  • Angular2 反应式表单 - 使用下拉菜单设置表单字段的默认值

    如何设置 Angular 2 反应表单中所有表单字段的默认值 这里是plnkr https plnkr co edit GKguMzZbr0kzrraPP73f p preview重现问题 下面的代码不会更新下拉值 因为它有一个与之关联的对
  • 使用 R 检索期刊论文的引文

    使用 R 我想获取引用科学期刊论文的文章列表 我所拥有的唯一信息是文章的标题 例如 用福林苯酚试剂测量蛋白质 有人能够通过制作一个我可以使用的可复制示例来帮助我吗 这是我到目前为止所尝试的 R 包fulltext似乎很有用 因为它允许检索链
  • 概览显示重复的 EF 查询

    我的 MVC 4 应用程序运行速度太慢 出现问题 我安装了 Glimpse 来分析该应用程序 我想我已经找到了部分问题 我的许多 EF 查询似乎运行了两次 这是我的 HomeController 它正在发出一些警报 HttpGet publ
  • 将 URL 参数传递给redirect_to :root

    这可能是一个非常愚蠢的问题 但几乎不可能通过谷歌搜索答案 是否有可能 如果可以的话如何 做类似的事情 redirect to root registered gt true 然后将链接到http myurl com registered t
  • 如何告诉 scons 使用 C++11 标准

    我无法找到如何告诉 scons 接受 c 11 标准 SConstruct 文件 env Environment CPPPATH usr include boost CPPDEFINES LIBS SCONS CXX STANDARD c
  • 我如何在 FMX 中使用 showmodal?

    我正在尝试为我的主 Android 表单创建一个登录表单 所以我做了这样的事情 var CanGo Boolean begin Application Initialize Application CreateForm TForm1 For
  • OpenCV 将一种颜色转换为另一种颜色

    我有一张灰度图像 我想将所有白色像素 纯白色 255 转换为黑色 0 仅那些颜色 而不是所有灰度 我怎样才能做到这一点 谢谢你 罗恩 您可以执行以下操作 使用阈值设置图像inRange http docs opencv org module
  • Rxjava tolist() 未完成

    我的 RxJava 调用链有问题 toList 无法正常工作 我猜想 toList 需要一些东西来完成 这就是它被卡住的原因 但我不知道如何解决这个问题 The code mModel getLocations flatMapIterabl
  • “ApacheCordovaToolsPackage”包未正确加载

    我刚刚安装了 VS 2015 Professional 并尝试安装 Visual Studio Tools for Apache Cordova 它成功完成 然而 当我尝试为此创建一个新项目时 它就卡在那里了 然后 如果我打开 VS 201
  • Ant 和可用任务 - 如果某些任务不可用怎么办?

    当我使用该任务时 仅当资源 例如文件 可用时 该属性才会设置为 TRUE 如果不是 则该属性未定义 当我打印属性的值时 如果资源可用 则返回 true 否则仅打印属性名称 如果资源是 有没有办法将属性设置为某个值not可用的 我尝试在可用检
  • 请解释一下这个高阶函数的javascript代码

    我正在按照 Eloquent JavaScript 书学习高阶函数 我无法理解这段代码 为什么 布尔值 作为嘈杂的第一个参数传递 这应该是改变其他功能的功能 我只是不明白它是如何工作的 function noisy f return fun
  • 使用可变属性名称反序列化 JSON

    我想反序列化 jsonhere http feiertage jarmedia de api jahr 7Byear 7D 与此类似 BW Neujahrstag datum 2017 01 01 hinweis Heilige Drei
  • Admin 中 Django 的外键参考

    我一直在尝试在 Django admin 中解决这个问题 但仍然找不到文档 In my 模型 py 我有以下代码 from django db import models class Post models Model title mode