Ho i seguenti modelli:Come limitare le opzioni di campo di scelta in base a un altro campo scelta Django Admin
class Category(models.Model):
name = models.CharField(max_length=40)
class Item(models.Model):
name = models.CharField(max_length=40)
category = models.ForeignKey(Category)
class Demo(models.Model):
name = models.CharField(max_length=40)
category = models.ForeignKey(Category)
item = models.ForeignKey(Item)
nella interfaccia di amministrazione quando si crea un nuovo demo, dopo che l'utente prende categoria dal menu a discesa, lo farei come limitare il numero di scelte nel menu a discesa "items". Se l'utente seleziona un'altra categoria, le scelte degli elementi dovrebbero essere aggiornate di conseguenza. Vorrei limitare le scelte degli articoli direttamente sul client, prima che colpisca anche la convalida del modulo sul server. Questo è per l'usabilità, perché l'elenco degli articoli potrebbe essere 1000+, essendo in grado di restringerlo per categoria, contribuirebbe a renderlo più gestibile.
C'è un "modo django" di farlo o il JavaScript personalizzato è l'unica opzione qui?
Non c'è davvero alcun modo per impostare questo nei modelli Django? –
Sì, c'è. Con un'app di terze parti. Vedi la mia risposta. –