带有ForeignKey reference的Django错误

2024-04-26 23:43:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于django的ForeignKey参考问题的问题。在

这是我代码的一部分:

App ticketsTrader应用程序

class TicketsTrader(models.Model):
    seller = models.ForeignKey(User, related_name='ticketsTrader_seller')
    buyer = models.ForeignKey(User, related_name='ticketsTrader_buyer')
    inscription = models.ForeignKey(Inscription)
    transactionCode = models.CharField(max_length=30,blank=False,null=False)
    ...

应用程序说明

^{pr2}$

但当我试图访问Grapelli admin中的“Add Ticket Trader”界面时,我收到一条错误消息:

User matching query does not exist.

Python27\lib\site-packages\django\db\models\query.py in get, line 366

In template \grappelli\templates\admin\includes\fieldset.html, error at line 19

我想得到的是:在我的ticketTrader表的“institution”列中,得到我的“institution”表的惟一id(pk)的值。在

或者“铭文钥匙”的价值,但我不认为这是可能的。在

Django公司版本:1.4/Python版本:2.7.3/South最新版本

感谢您的帮助:)


Tags: djangoname版本false应用程序adminmodelsline
2条回答

我只能猜测:

{ts1>中的外键和一个外键来标记。在

现在,我不知道Grapelli,但是默认的管理应用程序会在Add TicketsTrader页面上为registration-s提供一个下拉列表。如果某些Inscription-s指向不存在的User-s,则它们的__unicode__()方法将失败,并显示您指定的错误消息。在

问题是,一些User-s怎么会丢失,而{}-s却没有指向它们呢。好吧,如果你使用MySQL+MyISAM,外键在那里没有强制执行,所以各种奇怪的事情都会发生。在

我想因为你没有用户。。。在创建票贩子之前尝试创建用户

相关问题 更多 >