2010-02-08 84 views
1

我的管理网站中有一个内嵌表单。我在admin.py中也有save_as = True。 我的型号是,例如:Django管理内嵌表单错误

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() 

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

+0

我们可以看到试图更新模型的代码吗? – 2010-02-08 13:45:08

+0

我刚刚做到了: class PollAdmin(admin.ModelAdmin): ... save_as = True 并且按钮保存并添加另一个替换为新保存轮询的新按钮。 – Vitor 2010-02-08 14:01:57

回答

1

我从来没有多少运气与保存和关系。尽管如此,我认为我正在努力做许多复杂的事情。

给出那个错误的页面的网址是什么......从错误看起来它就像是...... /admin/myapp/poll//,而它应该更像/admin/myapp/poll/103/。所以这个错误是由管理员的url解析导致的,它试图将''的PK转换为一个int,以便它可以在数据库中查找它。

只要您的管理员网址的ID不是int(而您的PK字段是int),就会得到该错误。它可能是None(因为它没有保存),然后管理员试图在那里重定向它。

Django中的错误?可能会,但我怀疑它 - Django现在相当稳定。但你永远不知道。

0

我刚刚在教程的另一部分出现了这个错误。

您是否检查过模板的拼写错误?我有一个模板,应该通过choice_id,而不是我通过choice_if这是废话。