[pyar] Django Admin: Error al utilizar botón "save as new"

Sebastián Seba ssebastianj en gmail.com
Jue Jun 26 11:59:03 ART 2014


El 26 de junio de 2014, 11:39, Nicolás Rivella <rive08 en hotmail.com>
escribió:

> Buenos días lista,
>
> Antes que nada me presento, trabajo en sistemas hace más de cinco años,
> pero estoy haciendo mis primero pasos con programación en Python. Estoy
> subscrito a la lista desde hace rato, y he realizado varios cursos de
> programación "básica" en Coursera basados en Python. Hace años que intento
> convencer a mi jefe de utilizar Python en algún proyecto (sobre todo para
> meterme con Python EN SERIO y no solo haciendo TPs para algún curso) y
> finalmente el día llegó. Necesitábamos hacer un "Panel de Control" con
> indicadores de I.T., y cuando me enteré armé un proyecto simple con el
> Admin de Django para mostrarle lo "fácil" que era y le gustó.
> Y, como no podía ser de otra manera, cuando me tocó desviarme un poco de
> los tutoriales empezaron los problemas.
>
> Y, con este en particular no se para dónde agarrar :s
>
> Para facilitar la carga de registros similares en el Admin de Django,
> habilité el boton "Save As New", el tema es que al utilizarlo, Django se
> queja de la siguiente manera:
>
> Django Version: 1.6.5
> Exception Type: ValueError
> Exception Value: invalid literal for int() with base 10: ''
> Exception Location: C:\Python27\lib\site-packages\django\db\models\fields\__init__.py
> in get_prep_value, line 613
>
> El admin.ModelAdmin con el que estoy teniendo problemas, incluye un
> "inline" (admin.TabularInline), si comento la linea donde defino en inline,
> e intento "Guardar como nuevo", no tengo problemas, por lo que asumo que el
> tema surge al querer "copiar" los objetos relacionados a este inLine.
>
> El modelo incluido en el inLine es bastante simple:
>
> class Distribucion(models.Model):
>     centro_costo = models.ForeignKey( CentroCosto, verbose_name = u'Centro
> de Costo' )
>     distribucion = models.DecimalField( default = 0, max_digits = 6,
> decimal_places = 3, verbose_name = '% de Distribución' )
>     shoppingCart = models.ForeignKey( ShoppingCart)
>
>     class Meta:
>         verbose_name_plural = u'distribución'
>
> Y las validaciones que hago en el método "clean" del InlineFormset tampoco
> serían en problema, ya que probé comentando todo y reiniciando el
> runserver, pero el problema persiste.
>
> ¿alguno ha tenido problemas parecidos con el "save as new", o se le ocurre
> por dónde puedo comenzar a buscar la solución? Ya que estoy bastante
> perdido :s.
>
> Intenté preguntarle a San Google, pero no encuentro nada relacionado, solo
> encontré un ticket en Django por un problema similar "save_as=True and
> generic inline in admin gives IndexError", pero fue cargado hace varios
> años ya, y por lo que veo la solución que proponen ya fue implementada en
> las nuevas versiones de Django.
>
> Desde ya, muchas gracias por su ayuda.
> Saludos,
> Rive.
>
> P.D.: De ser necesario no tengo problema en pasar parte del código, pero
> entiendo que en el email inicial iba a hacer más engorrosa la lectura y
> tengo la esperanza de que el problema sea alguna boludez que estoy pasando
> por alto.
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>


¡¡Bienvenido a PyAr!!

Se me hace que el problema podría estar en la línea:

    distribucion = models.DecimalField( default = 0, max_digits = 6,
decimal_places = 3, verbose_name = '% de Distribución' )


Probá cambiar el parámetro "default" para que tenga un valor 0.000,
quedaría:

        distribucion = models.DecimalField( default = 0.000, max_digits =
6, decimal_places = 3, verbose_name = '% de Distribución' )


De paso cañazo, quedaría más "pro" el class Meta así:

class Meta:
    verbose_name = u'distribución'
    verbose_name_plural = u'distribuciones'

Saludos.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140626/1d1108fc/attachment.html>


More information about the pyar mailing list