2010-11-04 8 views
7

Tengo algunos problemas aquí con django admin site y en línea. Estuve buscando solución en Google durante dos días pero nada.administrador de Django: faltan líneas para algunos registros

que tienen dos modelos:

class Measurement(models.Model): 
    user = models.ForeignKey(User) 
    date = models.DateTimeField(auto_now_add=True) 
    # etc 

class Media(models.Model): 
    measurement = models.ForeignKey(Measurement) 
    link = models.CharField(max_length=255, blank=True) 
    description = models.TextField(blank=True) 
    # etc 

y configuración para el sitio de administración:

class MediaInline(admin.StackedInline): 
    model = Media 
    extra = 0 

class MeasurementAdmin(admin.ModelAdmin): 
    inlines = [MediaInline,] 

admin.site.register(Media) 
admin.site.register(Measurement, MeasurementAdmin) 

Lo extraño es: sitio de administración muestra inlines para algunos objetos de medición y no para otros. El conjunto de formularios completo es invisible (no está allí), incluso si los registros relacionados están visibles en la base de datos. Además, se genera la excepción ValidationError: [u'ManagementForm data is missing or has been tampered with'] para estos objetos. ¿Alguien ha tratado esto?

Respuesta

15

En el 90% de los casos he visto que esto se debió a un error en el método __unicode__, que django usa en la plantilla en línea.

+0

¡tenías razón! Pero sigue siendo WTF para mí. '__unicode__' return string apareció correctamente en la lista de módulos y en el mismo extremo con error para algunas líneas. ¿Como es posible? : D – Anpher

+0

veamos el código –

+0

@Anpher: '__Unicode__' no debe devolver una cadena. Se supone que debe devolver Unicode. –

Cuestiones relacionadas