unique_together example decimalfield choices django model default

example - django models default value



¿Cómo obtengo el valor predeterminado para un campo en un modelo de Django? (4)

A partir de Django 1.9.x puede usar:

field = TheModel._meta.get_field(''field_name'') default_value = field.get_default()

Tengo un modelo de Django con algunos campos que tienen valores predeterminados especificados. Estoy buscando capturar el valor predeterminado para uno de estos campos para nosotros más adelante en mi código. ¿Hay una manera fácil de tomar el valor predeterminado de un campo en particular de un modelo?


Puede obtener el campo así:

myfield = MyModel._meta.get_field_by_name(''field_name'')

y el valor predeterminado es solo un atributo del campo:

myfield.default


Si necesita los valores predeterminados para más de un campo (por ejemplo, en algún tipo de paso de reinicialización) puede valer la pena crear una instancia de un nuevo objeto temporal de su modelo y usar los valores de campo de ese objeto.

temp_obj = MyModel() obj.field_1 = temp_obj.field_1 if cond_1 else ''foo'' ... obj.field_n = temp_obj.field_n if cond_n else ''bar''

Por supuesto, esto solo vale la pena, si el objeto temporal se puede construir sin más problemas de rendimiento / dependencia.


TheModel._meta.get_field(''the_field'').get_default()