【发布时间】:2014-03-13 06:17:59
【问题描述】:
我正在尝试根据 FK 字段的值定义字段的默认值。 我搜索了一下,发现了这个(它适用于我自己的模型):
def __init__(self, *args, **kwargs):
super(Line, self).__init__(*args, **kwargs)
if not self.id:
self.max_payout = self.coin.LineMax()
模型“Line”以这种方式引用模型“Coin”:
coin = models.ForeignKey(Coin)
我在尝试编译时遇到的错误是:
Exception Type: RelatedObjectDoesNotExist at /admin/acb_lines/line/add/
Exception Value: Line has no coin.
我猜是因为当你开始添加一条线时,“硬币”是一个下拉菜单,还没有设置值。
[编辑] 我已经通过添加 Coin 的默认值来避免 RelatedObjectDoesNotExist 错误,但问题仍未解决
【问题讨论】:
-
将
__init__的super移到您的逻辑下方。 -
@AnkurAnkan:请不要将代码跨度 (
like this) 用于非代码或代码关键字的单词。例如,def或__init__应该在代码跨度中,但this really shouldn't be。谢谢! -
@karthikr 很抱歉,对这个很陌生,你能举个例子吗?
-
@Qantas94Heavy 感谢您的编辑,这是我在 Stack 上的第一篇(ish)帖子