Как я могу отфильтровать множество полей на основе внешнего ключа? (Я сама панель администратора django) - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть отношение many-to-many к полю tag и поле внешнего ключа appName, я хочу выбрать только теги, которые связаны с конкретными именами приложений.

Теперь, когда раскрывающийся список для выбора открыт, он отображает все поля «многие ко многим» независимо от связанных с ним приложений.

    class AppName(models.Model):

        appId = models.AutoField(primary_key=True)
        appName = models.CharField(max_length=200)
        appVersion = models.CharField(max_length=100,blank=True)
        appVersionName = models.CharField(max_length=100,blank=True)
        appPackageName = models.CharField(max_length=300)

    class Tag(models.Model):

        tagId = models.AutoField(primary_key=True)
        tag = models.CharField(max_length=300)
        tagDes = models.TextField()
        tagAddedDate = models.DateTimeField(default=timezone.now)
        appName = models.ForeignKey(AppName,on_delete=models.CASCADE, null=True, blank=True)

    class Company(models.Model):

        CId = models.AutoField(primary_key=True)
        appName =  models.ForeignKey(AppName,on_delete=models.CASCADE, null=True, blank=True)
        tag = models.ManyToManyField(Tag,blank=True)

Ожидаемый результат - список тегов по отношению квыбранному appName.

1 Ответ

0 голосов
/ 19 сентября 2019

Вопрос не совсем понятен для меня, но, похоже, вы хотите иметь «цепочки» выпадающих списков.Насколько я знаю, это не выполнимо без некоторых запросов.

Я следовал учебному пособию от: https://simpleisbetterthancomplex.com/tutorial/2018/01/29/how-to-implement-dependent-or-chained-dropdown-list-with-django.html

, и в моем случае он работал отлично.В общем, вам нужны ajax-запросы.

...