首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在内联删除后读取__str__()的Django管理界面

在内联删除后读取__str__()的Django管理界面
EN

Stack Overflow用户
提问于 2014-12-29 16:54:10
回答 1查看 247关注 0票数 0

上下文:

我刚从Django开始。为了熟悉它,我正在编写一个网络应用程序来跟踪家庭账单。每一张钞票都有与欠钱的每个人相关的账单部分。欠款额按账单总额除以部分总数(即所涉人数)计算。见下文:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Bill(models.Model):
  description = models.CharField(max_length=100)
  amount = models.DecimalField(max_digits=9, decimal_places=2)
  paid_by = models.ForeignKey(Person)

  def __str__(self):
    return self.description

class BillPortion(models.Model):
  bill = models.ForeignKey(Bill, related_name='portions')
  person = models.ForeignKey(Person, related_name='bill_portions')

  @property
  def amount(self):
    return self.bill.amount / self.bill.portions.count()

  def __str__(self):
    return str(self.person) + ' owes ' + str(self.bill.paid_by) + \
           ' $' + str(self.amount) + ' for ' + str(self.bill)

发行:

我的应用程序的管理界面也包含了使用BillPortion内联使用admin.StackedInline的相关的admin.StackedInline对象。当我删除连接到特定票据的最后一个BillPortion时,在BillPortion的amount()属性中会出现一个DivisonByZero错误。该属性正在由BillPortion的__str__()方法读取。

看起来,在从数据库中删除BillPortion对象之后,它将尝试读取该部分的__str__方法。但是,因为它不再存在于数据库中,所以str(self.amount)会导致DivisionByZero错误。

为什么管理界面要尝试读取我刚刚删除的对象的__str__()方法?我是否应该用amount()方法进行边缘处理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-29 17:26:17

为什么管理界面要尝试读取我刚刚删除的对象的str()方法?我是否应该用数值()方法来加边?

我的请求是因为它使用该属性来显示信息(消息包)。

您可以尝试重写__str__,然后检查self.amount是否存在/返回正确,如果不正确,则返回空字符串或其他可读的消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27698202

复制
相关文章
为什么 build 方法放在 State 中而不是在 StatefulWidget 中
为什么 build 方法放在 State 中而不是在 StatefulWidget 中呢?其中前2点是源代码的注释中给出的原因,最后一点是我的一点个人理解。
老孟Flutter
2021/01/28
9130
Django 2.1.7 Admin - 列表页选项
https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial07/
Devops海洋的渔夫
2019/07/08
1.1K0
Django 2.1.7 Admin - 列表页选项
39. Django 2.1.7 Admin - 列表页选项
1)打开assetinfo/admin.py文件,修改ServerInfoAdmin类如下:
Devops海洋的渔夫
2022/01/17
3880
39. Django 2.1.7 Admin - 列表页选项
WideNet:让网络更宽而不是更深
这是新加坡国立大学在2022 aaai发布的一篇论文。WideNet是一种参数有效的框架,它的方向是更宽而不是更深。通过混合专家(MoE)代替前馈网络(FFN),使模型沿宽度缩放。使用单独LN用于转换各种语义表示,而不是共享权重。
deephub
2023/08/30
2180
WideNet:让网络更宽而不是更深
在 Django Admin 后台发布文章
在此之前我们完成了 Django 博客首页视图的编写,我们希望首页展示发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带的 Admin 后台来发布我们的博客文章。 创建 Admin 后台管理员账户 要想进入Django Admin 后台,首先需要创建一个超级管理员账户。我们在 让 Django 完成翻译:迁移数据库 中已经创建了一个后台账户,但如果你没有按照前面的步骤创建账户的话,可以运行 python manage.py cre
追梦人物
2018/04/17
2.1K0
在 Django Admin 后台发布文章
Django之templatetags自定义标签和过滤器的使用
2、创建任意 .py 文件,如:myTag.py 3、myTag.py文件: from django import template from django.utils.safestring import mark_safe register = template.Library(); # register 不能改变
菲宇
2022/05/06
1.7K0
在django-admin中使用django-ckeditor
在最新学习python中,使用django搭建博客系统,管理后台直接使用django自带的admin模块,所以遇到富文本编辑的问题,经过查阅资料,发现了django-ckeditor这个小插件,下面小威就分享一点点来自小白的经验吧~
用户2619822
2022/06/10
1.6K0
在django-admin中使用django-ckeditor
Django 1.10中文文档-第一个应用Part7-自定义管理站点
目录[-] 开发第一个Django应用,Part7 本教程上接Part6。将继续完成这个投票应用,本节将着重讲解如果用Django自动生成后台管理网站。 自定义管理表单 通过admin.site.register(Question)注册了Question后,Django可以自动构建一个默认的表单。如果您需要自定义管理表单的外观和功能。你可以在注册时通过配置来实现。 现在先来试试重新排序表单上的字段。只需要将admin.site.register(Question)所在行替换为: # polls/admi
jhao104
2018/03/20
3.6K0
Django 1.10中文文档-第一个应用Part7-自定义管理站点
编程是一种思想,而不是敲代码
编程是一个先思考再编码的过程,思考是优于编码技能的,在思考过程中我们会考虑代码的可重用性、可靠性、更容易被他人理解,这时就会使用到设计模式让代码编写工程化,这篇文章整理了设计模式的六大原则。
新亮
2020/05/26
3750
编程是一种思想,而不是敲代码
如何修改django的app在admin中显示的名称
在django的开发中,很多时候我们希望app在admin中显示成我们想要的中文名,而不是显示默认的app_label名称。 比如我们有一个blog应用,在我们的blog app目录下面,默认会生成一个apps.py文件,类似:
小海怪的互联网
2019/09/25
3.4K0
如何修改django的app在admin中显示的名称
Django Admin后台管理
Django通过简单配置就可以实现数据模型的后台管理。一般管理界面是给系统管理员使用的,以完成数据的CURD。
菜菜cc
2022/11/15
2.8K0
Django Admin后台管理
Django3.2边学边记—Adimn站点管理
ModelAdmin类可以控制不同模型在Admin界面中的展示方式,主要包括在列表页的展示方式、添加修改页的展示方式
玖柒的小窝
2021/09/24
1.2K0
Django3.2边学边记—Adimn站点管理
什么在代码中要求我们使用LocalDateTime而不是Date?
在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗?
用户1516716
2019/11/24
1.1K0
在非admin页面使用 Django Ueditor(二)
Django Ueditor的安装和在admin页面的使用请看,接下来的内容是基于这篇文章的环境进行的:使用 Django Ueditor 富文本编辑器(一),如果你按照下面的流程来做还有关于Ueditor的报错,很有可能是没有装好环境。。 总体流程 以文章模型为例 1、创建文章模型 2、创建该文章模型的Form 3、写个html界面 4、写个视图函数article(),并提供这个Form给前端渲染 5、写个路由,并配置好settings.py文件 具体实现过程 在app中: 1、创建文章模型 from D
benny
2020/04/23
7060
在非admin页面使用 Django Ueditor(二)
Django快速入门——投票程序(7) 自定义后台
通过admin.site.register(Question)注册Question模型,Django会创建默认的表单在后台显示。但有时需要自定义后台的显示,可以通过继承admin.ModelAdmin实现:
一只大鸽子
2023/09/02
2420
Django快速入门——投票程序(7) 自定义后台
Django3.2边学边记—Adimn站点管理
ModelAdmin类可以控制不同模型在Admin界面中的展示方式,主要包括在列表页的展示方式、添加修改页的展示方式
用户1503405
2021/09/27
1.3K0
django admin 美化
django admin 美化主题,采用layui 作为基本框架,改写大部分页面 说明 安装 pip install django-simpleui 升级 pip install django-simpleui --upgrade 克隆源码本地安装 git clone https://github.com/newpanjing/simpleuicd simpleui python setup.py sdist install 项目 settings.py 的INSTALLED_APPS 第一行加入 simp
小贝壳
2020/03/05
7620
点击加载更多

相似问题

如何让文本显示在顶部而不是侧面?

20

有没有一种方法可以在模型中表达Django管理设置,而不是admin.py?

41

有没有一种方法可以使对象始终位于显示列表的顶部?

20

有没有一种方法可以从底部而不是从顶部在RecyclerView中堆叠CardView?

228

Django admin DoesNotExist位于/admin/

100
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文