2011-07-08 17 views
69

tengo este código¿Puedo hacer que el campo de clave externa opcional en el modelo de Django

subject  = models.ForeignKey(subjects) 
location  = models.ForeignKey(location) 
publisher = models.ForeignKey(publisher) 

No su no siempre es posible que tengo tres valores de libros. a veces, si no sé el tema o la ubicación, o el editor. Entonces quiero mantenerlos vacíos

Pero si tengo entonces necesito seleccionar el cuadro para seleccionar. ¿es posible que al igual que

Respuesta

135

Claro, sólo tiene que añadir blank=True, null=True para cada campo que desea seguir siendo opcional como

subject = models.ForeignKey(subjects, blank=True, null=True) 
+1

son a la vez necesarias? ¿Cuáles serían los inconvenientes de usar null = True? – Ward

+2

@WardC Consulte https://docs.djangoproject.com/en/1.9/ref/models/fields/#blank –

+8

@WardC El combo de los dos es tan frecuente porque, por lo general, si va a permitir que un campo sea en blanco en su forma, , también necesitará su base de datos para permitir valores NULOS para ese campo. La excepción es CharFields y TextFields, que en Django nunca se guardan como NULL. Los valores en blanco se almacenan en el DB como una cadena vacía (''). –

Cuestiones relacionadas