Этот сводит меня с ума прямо сейчас. Этого не было раньше (даже я получил скриншоты для руководства пользователя, так как это требовалось клиенту).
Сначала я заметил это на рабочем сервере, а затем проверил, и это также происходит на dev-сервере, который поставляется с Django. Модель появляется на главной странице администратора 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)
Плюс несколько методов, которые не должны иметь большого значения. Кроме того, в прошлый раз перед тем, как я проверил админ, сразу после создания всех этих методов, так что это не должно иметь значения.
Администратор очень редко получает доступ к этой странице. Обычно это просто список PoS, но это все еще беспокоит меня. Есть идеи о том, почему оно может висеть? Все остальные модели работают просто отлично.
Это происходит как в Django 1.2.5, так и в 1.3
.
EDIT:
Я изменил пределы тайм-аута. Это работает, но так или иначе требуется несколько минут, чтобы это действительно произошло. Таким образом, есть что-то на заднем плане, которое берет возраст. Я не понимаю, почему это происходит только для этой модели, и это происходит в разных средах (и с небольшими наборами данных)
Мне почти хочется ударить себя. Моя вина, что я не сплю так долго.
Проблема в том, что список почтовых индексов довольно большой (десятки тысяч), а поле внешнего ключа загружается как тег выбора html, что означает, что он загружает каждую отдельную запись. Это проблема с количеством данных просто.
Теперь мне интересно, как контролировать отображение внешнего ключа в админке. Кто-нибудь может помочь с этим?