Estoy tratando de usar ModelForm para agregar mis datos. Está funcionando bien, excepto que la lista desplegable ForeignKey muestra todos los valores y solo quiero que muestre los valores que son pertinentes para el usuario que ha iniciado sesión.¿Cómo puedo filtrar valores en un formulario de Django usando ModelForm?
Aquí es mi modelo para ExcludedDate, el registro quiero añadir:
class ExcludedDate(models.Model):
date = models.DateTimeField()
reason = models.CharField(max_length=50)
user = models.ForeignKey(User)
category = models.ForeignKey(Category)
recurring = models.ForeignKey(RecurringExclusion)
def __unicode__(self):
return self.reason
Aquí es el modelo para la categoría, que es la tabla que contiene la relación que me gustaría limitar por el usuario:
class Category(models.Model):
name = models.CharField(max_length=50)
user = models.ForeignKey(User, unique=False)
def __unicode__(self):
return self.name
Y, por último, el código del formulario:
class ExcludedDateForm(ModelForm):
class Meta:
model = models.ExcludedDate
exclude = ('user', 'recurring',)
¿Cómo consigo el formulario para mostrar en ¿El subconjunto de categorías donde category.user es igual al usuario que inició sesión?
Esto funcionó "¡fácil como un pastel!" Agradezco no solo su respuesta, sino la integridad de su respuesta. – malandro95
Me alegro de ser de ayuda :) –
Entonces .... mientras que el formulario ahora se ve muy bien, el cambio rompió la vista que agrega los datos. ¿Algunas ideas? (Código de abajo) – malandro95