这件事现在快把我逼疯了.这是以前没有发生过的(因为客户需要,我甚至得到了我必须为用户手册做的屏幕截图).
我首先在生产服务器上注意到了这一点,然后判断了Django附带的dev服务器.该模型出现在django管理员的主页上,我可以点击它,它将显示销售点列表.每当我想要编辑现有实例或创建新实例时,问题就会出现.
我只需点击链接(或将其放在栏上),它就会挂起.
class PointOfSaleAdmin(admin.ModelAdmin):
list_display = ('id','business', 'user', 'zipcode', 'address','date_registered')
list_filter = ('business',)
filter_horizontal = ('services',)
admin.site.register(models.PointOfSale, PointOfSaleAdmin)
这是模型的注册表.所有型号都在管理应用程序中注册,测试此功能的用户是超级用户.该模型为:
class PointOfSale(models.Model):
user = models.ForeignKey(User)
zipcode = models.ForeignKey(Zipcode)
business = models.ForeignKey(Business)
services = models.ManyToManyField(Service,
verbose_name='available services')
date_registered = models.DateField(auto_now_add=True)
address = models.CharField(max_length=300)
再加上一些不太重要的方法.另外,在此之前的最后一次我测试管理员是在我创建所有这些方法之后,所以这应该无关紧要.
管理员很少需要访问此页面.通常它只是列出位置,但它仍然困扰着我.你知道它为什么会挂起来吗?所有其他型号都工作得很好.
Django 1.2.5和1.3都出现了这种情况
编辑:
我修改了超时限制.它正在工作,但不知何故,它需要几分钟才能真正发生.因此,背景中有一些东西需要花费很长时间.我不明白为什么这种情况只发生在这个模型上,而且发生在不同的环境中(以及小数据集上)
我几乎想扇自己一巴掌.我的错是我睡不着这么久.
问题是邮政编码列表非常大(几万),并且外键字段作为html select标记加载,这意味着它加载每个条目.这只是一个有多少数据的问题.
现在我想知道如何控制外键在管理员中的显示方式.有人能帮上忙吗?