he creado un modelo con una clave externa en ella:Django, ¿cómo eliminar la opción en blanco del campo de elección en forma de modelo?
class Book(models.Model):
library = models.ForeignKey(Library, null=False, blank=False)
...
y luego he creado un formulario con un ModelForm para mostrar a los usuarios:
class BookSubmitForm(ModelForm):
class Meta:
model = Book
y cuando puedo mostrar la página con el formulario Obtengo las opciones de la Biblioteca pero también la opción en blanco (--------) que viene por defecto.
Pensé que tener null = False y blank = False en el modelo que eliminaría esa opción en blanco en el ModelForm pero no. ¿Qué puedo hacer para tener solo las opciones reales en la lista y no esa?
De alguna manera funciona, pero todavía veo la ChoiceField original en la forma con la opción en blanco junto con el nuevo con la misma etiqueta y las mismas opciones, pero sin el espacio en blanco elección. Parece que este método no anula el formulario, sino que lo expande con el mismo campo. – Bastian
Ok mi mal, era un error tipográfico, utilicé una primera letra mayúscula como en su ejemplo "Biblioteca". Al cambiar a una "biblioteca" minúscula, en realidad anula el campo. ¡Gracias! – Bastian
¡Genial! También puede simplemente 'self.fields ['library']. Empty_label = None' si no va a cambiar el queryset. – guival