Добавить выпадающий список Depandent для Django администратора - PullRequest
0 голосов
/ 20 января 2020

Я создал 4 модели в моей django стране, штате и городе, а также добавил их в admin.site.register. Как добавить зависимый раскрывающийся список для страны-города-страны для пользователя-администратора всякий раз, когда пользователь пытается создать Объект Aplications, они получают список имен состояний в зависимости от названия страны, выбранного администратором, а также для города.

Models.py

from django.db import models
from django.db.models import ForeignKey
from multiselectfield import MultiSelectField


class Country(models.Model):
    name = models.CharField(max_length=250)
    phone_code = models.CharField(max_length=250)
    currency = models.CharField(max_length=250)

    def __str__(self):
        return self.name


class State(models.Model):
    name = models.CharField(max_length=250)
    country = models.ForeignKey(to=Country, on_delete=models.CASCADE)

    def __str__(self):
        return self.name


class City(models.Model):
    state = models.ForeignKey(to=State, on_delete=models.CASCADE)
    name = models.CharField(max_length=250)

    def __str__(self):
        return self.name


class Applications(models.Model):
    country = models.ForeignKey(Country, on_delete=models.SET_NULL, null=True)
    state = models.ForeignKey(State, on_delete=models.SET_NULL, null=True)
    city = models.ForeignKey(City, on_delete=models.SET_NULL, null=True) 
    name = models.CharField(max_length=20)
    phone_number = models.IntegerField()
    email_id = models.EmailField()
    home_address = models.CharField(max_length=255, blank=True, null=True)
    birthdate = models.DateField(null=True, blank=True)
    current_company = models.TextField(max_length=250, blank=True, null=True)

    def __str__(self):
        return str(self.name)

1 Ответ

0 голосов
/ 20 января 2020

они получают список названий состояний в зависимости от названия страны, выбранного администратором, а также для города

Поскольку вы указали раскрывающийся список, я предлагаю переключиться на поле множественного выбора , где для выбора будет задан определенный диапазон значений, и он будет отображаться в виде раскрывающегося списка на панели администратора.

...