Necesito que mi aplicación Django me permita tener un valor predeterminado de NULL establecido para un determinado campo de modelo. He revisado nulo, , y parámetros predeterminados, pero no está muy claro qué combinación de los tres necesito para obtener el efecto deseado. Intenté configurar default=NULL
, pero arrojó un error. Si especifico blank=True, null=True
y no aparece el valor predeterminado, ¿volverá a funcionar de forma predeterminada el tiempo de ejecución de NULL come runtime?Django Model Field Default to Null
Respuesta
Probar default=None
. No hay NULL
en python.
Si especifica null = True en el campo del modelo, el valor se almacenará como NULL en la base de datos si el usuario no proporciona un valor.
Eso no es cierto en la mayoría de los casos, porque generalmente almacenará una cadena vacía. – hY8vVpf3tyR57Xib
@AlfonsIngomar Incorrecto, de los documentos - https://docs.djangoproject.com/en/1.8/ref/models/fields/#null "Si es verdadero, Django almacenará los valores vacíos como NULL en la base de datos. Falso." – Kevin
Mire el siguiente párrafo: evite usar nulo en campos basados en cadenas como CharField y TextField ** porque los valores de cadenas vacías siempre se almacenarán como cadenas vacías, no como NULL **. Si un campo basado en cadena tiene null = True, eso significa que tiene dos valores posibles para "sin datos": NULL y la cadena vacía. En la mayoría de los casos, es redundante tener dos valores posibles para "sin datos"; la convención de Django es usar la cadena vacía, no NULO. – hY8vVpf3tyR57Xib
- 1. Django Setup Default Logging
- 2. Django form field label translations
- 3. Django model iterate fields
- 4. Django: ModelChoiceField remove default --------- choice
- 5. Postgres COPY TO NULL enteros
- 6. MySQL table2.field = "X"
- 7. ZipExtFile to Django File
- 8. ¿Hay alguna razón para especificar DEFAULT (NULL) en una columna que admite valores NULL?
- 9. ¿Cuál es la diferencia entre DEFAULT NULL y CHECKBOX NULL mysql?
- 10. Django filter many-to-many with contains
- 11. Mocking Django Storages Model ImageField backend S3
- 12. Django Model Herencia. Ocultar o eliminar campos
- 13. Django Overriding Model Clean() vs Save()
- 14. LINQ to Entities and null strings
- 15. wpf databind IsVisible to TabControl.SelectedItem! = Null
- 16. Cuándo usar $ HTTP_POST_VARS ['field'] y $ _POST ['field']?
- 17. Django One-To-Many Models
- 18. La migración de Django South no funciona con null = True and blank = True
- 19. Scala: ¿== default es igual a?
- 20. ASP MVC FILE Upload HttpPostedFileBase es Null
- 21. PHP Mail, CC Field
- 22. Django: Ordenar por posición ignorando NULL
- 23. django model/modelForm - ¿Cómo obtener opciones dinámicas en choiceField?
- 24. ¿Puedes averiguar si una instancia de Django Model está "sucia"?
- 25. Django Model Mixins: hereda de models.Model or from object?
- 26. Seguimiento de cambios a las instancias de Django Model
- 27. ¿Cómo puedo anular el método get en django Model?
- 28. Django model manager objects.create ¿dónde está la documentación?
- 29. Linq To Xml Null Comprobación de los atributos
- 30. C# Events and Lambdas, alternative to null check?
Eso hizo el truco, gracias. :) – SPoage
Solo por claridad, el NULL al que se refiere es para el campo de modelo de Django. Esto permite/no permite utilizar un valor None para ese valor, que se almacena como NULL en la base de datos, no en Python. El espacio en blanco se refiere a si se requiere o no el valor para la validación en forms/admin/etc. – Nexion
@Nexion, 'default = None' no permite o no permite el uso de un valor Ninguno. Simplemente le dice a Django cuál debería ser el valor del campo si no se especifica. 'null = True' no permite que se use None en el código de Python. Se trata como NULL en la base de datos. Y tiene razón sobre el uso de espacios en blanco para la validación de formularios. – Bobort