Django管理员内联表单错误

时间:2010-02-08 13:39:21

标签: python django django-models

我的管理网站中有一个内联formset。我在admin.py中也有save_as = True。 我的模型例如是:

class Poll(models.Model):
    question = models.CharField(max_length=200, unique = True)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice = models.CharField(max_length=200)
    votes = models.IntegerField()

我选择了一个独特的问题。 问题是,每当我尝试将民意调查保存为新民意调查时,如果我忘记更改问题,我会收到错误,因为它应该发生。但是,如果我然后更改问题并尝试保存,我会收到此错误:对于基数为10的int(),文字无效:'' 如果我检查错误,我看到池外键不可用,这是错误的原因。 其他人有这个错误? 这是一个django bug吗?我知道http://code.djangoproject.com/ticket/9651中存在与save_as相关的错误,但我无法判断它是否与我的错误有关。 像我一样尝试django教程,看看是否出现错误。 谢谢你的回复。

2 个答案:

答案 0 :(得分:1)

我从来没有像Save as和人际关系那么幸运。虽然,我认为我试图做很多复杂的事情。

提供该错误的页面的网址是什么...从错误看起来它会像...... /admin/myapp/poll//,而它应该更像/admin/myapp/poll/103/ 。因此,错误是由管理员的URL解析试图将''的PK转换为int而引起的,因此它可以在数据库中查找。

如果您的管理网址ID不是int(并且您的PK字段是int),那么您将收到该错误。它可能是None(因为它没有保存),然后管理员试图将其重定向到那里。

Django中的错误?可能,但我怀疑 - 这些天Django非常稳定。但你永远不知道。

答案 1 :(得分:0)

我刚刚在本教程的另一部分中遇到此错误。

您是否检查过模板的拼写错误?我有一个本应该通过choice_id的模板,而是通过了choice_if,这是无意义的。