Sto creando un'app Django con utenti personalizzati. Ho delineato i componenti chiave del mio problema di seguito, il codice mancante è indicato da '...'. Il mio modello utente personalizzata ha una relazione di chiave esterna come segue:Django ModelChoiceField non ha un tasto più
class MyCustomUser(models.AbstractBaseUser, models.PermissionsMixin)
...
location = models.ForeignKey(Location)
class Location(models.Model)
name = models.CharField(max_length=50, blank=True, null=True)
Ho scritto un modulo utente personalizzato che include questo campo come segue:
class MyCustomUserCreationForm(models.ModelForm)
...
location = forms.ModelChoiceField(Location.objects.all())
Tutto questo sembra funzionare correttamente, tuttavia , non vi è alcun pulsante più a destra del campo di selezione per la posizione. Voglio poter aggiungere una posizione quando creo un utente, allo stesso modo in cui puoi aggiungere sondaggi quando crei delle scelte nello Django tutorial. Secondo to this question, potrei non vedere il plus verde se non ho il permesso di cambiare il modello, ma sono registrato come superutente con tutte le autorizzazioni. Qualche idea su cosa sto facendo male?
Mi hai indicato la direzione giusta, grazie per tutti i collegamenti. Ho usato il tuo codice ma ho dovuto modificarlo un po '. Ho dovuto aggiungere un paio di righe a ModelAdmin per passare il sito di amministrazione al form e definire rel come 'MyCustomUser._meta.get_fields ('location'). Rel' – EmeraldOwl
@EmeraldOwl: Minore typo -' MyCustomUser. _meta.get_field ('location'). rel'. – Shubham