Este me está volviendo loco en este momento. No estaba sucediendo antes (incluso obtuve capturas de pantalla que tenía que hacer para el manual de usuario desde que el cliente lo requirió).Administrador de Django se cuelga (hasta el error de tiempo de espera) para un modelo específico al intentar editar/crear
Lo noté por primera vez en el servidor de producción y luego lo revisé y también sucede en el servidor de desarrollo que viene con Django. El modelo aparece en la página principal del administrador de django, puedo hacer clic en él y se mostrará la lista de puntos de venta. El problema viene cuando quiero editar una instancia existente o crear una nueva.
Simplemente hago clic en el enlace (o lo puse en la barra) y simplemente se cuelga.
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)
Ese es el registro del modelo. Todos los modelos están registrados en la aplicación de administración y el usuario para probar que es un súper usuario. El modelo es:
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)
Además de algunos métodos que en realidad no deberían importar mucho. Además, la última vez antes de esto que probé el administrador fue justo después de crear todos esos métodos, por lo que no debería importar en esto.
El administrador muy rara vez tiene que acceder a esta página. Por lo general, solo enumera el PoS, pero todavía me molesta. ¿Alguna idea de por qué podría estar colgando? Todos los demás modelos funcionan bien.
Esto sucede tanto en Django 1.2.5 y 1.3
EDIT:
he modificado los límites de tiempo de espera. FUNCIONA, pero de alguna manera toma varios minutos que realmente suceda. Entonces, hay algo en el fondo que está demorando años. No entiendo cómo es que sucede sólo para este modelo y sucede en diferentes entornos (y con pequeños conjuntos de datos)
casi me siento como golpeando a mí mismo. Mi culpa por no dormir tanto tiempo.
El problema es que la lista de códigos postales es bastante grande (docenas de miles) y el campo de la clave externa se carga como una etiqueta de selección html, lo que significa que carga cada entrada. Es un problema con la cantidad de datos que hay simplemente.
Ahora me pregunto cómo controlar la forma en que se muestra la clave externa en el administrador. ¿Alguien podría ayudar con eso?
Pregunta interesante con una respuesta interesante. He sido culpable de esto en el último mes: prueba tu aplicación con grandes conjuntos de datos, porque rastrear problemas como este no es obvio cuando crees que lo has probado todo. –