Sto cercando di utilizzare ModelForm per aggiungere i miei dati. Funziona bene, ad eccezione del fatto che l'elenco a discesa ForeignKey mostra tutti i valori e voglio solo che mostri i valori pertinenti per l'utente che ha effettuato l'accesso.Come faccio a filtrare i valori in un modulo Django usando ModelForm?
Ecco il mio modello per ExcludedDate, il record voglio aggiungere:
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
Ecco il modello per la categoria, che è la tabella contenente il rapporto che vorrei limitare dall'utente:
class Category(models.Model):
name = models.CharField(max_length=50)
user = models.ForeignKey(User, unique=False)
def __unicode__(self):
return self.name
E, infine, il codice del modulo:
class ExcludedDateForm(ModelForm):
class Meta:
model = models.ExcludedDate
exclude = ('user', 'recurring',)
Come faccio ad avere il modulo per visualizzare su il sottoinsieme di categorie in cui category.user è uguale all'utente loggato?
Questo ha funzionato "facile come torta!" Apprezzo non solo la tua risposta, ma la completezza della tua risposta. – malandro95
Felice di essere di aiuto :) –
Quindi ... mentre il modulo ora sembra fantastico, il cambiamento ha rotto la vista che aggiunge i dati. Qualche idea? (Codice qui sotto) – malandro95