Ich habe drei Modelle: Buch, Sprachen und Optionen. Es gibt vordefinierte Sätze von Büchern (Master und Margarita, Der Name der Rose etc.) und Sprachen (Englisch, Deutsch, Französisch und so weiter). Jede Book-Instanz hat eine vordefinierte Teilmenge von Sprachen, in denen verfügbar ist (ManyToMany-Beziehung). Das Optionsmodell enthält das Feld Buch (als ForeignKey) und das Feld Sprachen (ManyToMany). Ich möchte ein Formular erstellen, das es dem Benutzer ermöglicht, ein beliebiges Buch auszuwählen und (nach der Auswahl) Sprachen dynamisch zu filtern, um nur eine Teilmenge anzuzeigen, die mit diesem Buch in Beziehung steht. Ist das mit Django möglich?Django - Filterformularfeldsatz basierend auf einem anderen Feld
Relevante Modelle:
class Book (models.Model):
title = models.CharField (max_length = 128)
languages = models.ManyToManyField (Language, related_name = 'available_languages')
class Language (models.Model):
name = models.CharField (max_length=64)
abbreviation = models.CharField (max_length=4)
class Options (models.Model):
book = models.ForeignKey (Book, help_text = 'Text', null = True, blank = True)
languages = models.ManyToManyField (Language, related_name = 'languages', help_text = 'Languages')
Danke! Es funktionierte nicht aus der Box, ich musste ManyToManyField von Book zu Language verschieben, daher sieht das Feld 'Optionen' wie folgt aus: 'languages = ChainedManyToManyField (Sprache, chained_field =" book ", chained_model_field =" books ") '. Aber es funktioniert jetzt perfekt! – user1785295