Robię aplikację Django z niestandardowymi użytkownikami. Poniżej przedstawiłem kluczowe elementy mojego problemu, brakujący kod oznaczono "...". Mój model niestandardowy użytkownik ma relacji klucza obcego w następujący sposób:Django ModelChoiceField nie ma przycisku plusa
class MyCustomUser(models.AbstractBaseUser, models.PermissionsMixin)
...
location = models.ForeignKey(Location)
class Location(models.Model)
name = models.CharField(max_length=50, blank=True, null=True)
Pisałem niestandardową formę obsługi, która zawiera tego pola w następujący sposób:
class MyCustomUserCreationForm(models.ModelForm)
...
location = forms.ModelChoiceField(Location.objects.all())
To wszystko wydaje się działać poprawnie, jednak , nie ma przycisku plus po prawej stronie pola wyboru lokalizacji. Chcę móc dodać lokalizację, gdy utworzę użytkownika, w taki sam sposób, w jaki można dodawać ankiety podczas tworzenia opcji w pliku Django tutorial. Według to this question, mogę nie widzieć zielonego plusa, jeśli nie mam uprawnień do zmiany modelu, ale jestem zalogowany jako superuser z wszystkimi uprawnieniami. Masz pojęcie, co robię źle?
Wskazałaś mi właściwy kierunek, dzięki za wszystkie linki. Użyłem twojego kodu, ale musiałem go trochę zmodyfikować. Musiałem dodać kilka linii do ModelAdmin, aby przekazać stronę administratora do formularza i zdefiniować rel jako 'MyCustomUser._meta.get_fields ('location'). Rel' – EmeraldOwl
@EmeraldOwl: Minor Typo -' MyCustomUser. _meta.get_field ("location"). rel'. – Shubham