Django-admin-Formular - wie Sie dynamisch ändern, wählen Sie Werte

Habe ich diese situation:
Ich habe Modelle, Artikel, Region und Land.

class Item(models.Model):
    name = models.CharField(max_length=255)
    alias = models.SlugField(unique=True)
    country = models.OneToOneField(Country, default=0)
    region = models.OneToOneField(Region, default=0, related_name='')

class Region(models.Model):
    name = models.CharField(max_length=100)
    country = models.ForeignKey(Country, default=0) 

class Country(models.Model):
    name = models.CharField(max_length=100)

Wenn ich ein Element hinzufügen im admin-Bereich und ich Land auswählen-ich möchte automatisch bauen der region wählen Sie mit Regions nur von der gewählten Country.

Ich wissen, wie es in javascript, aber ich weiß nicht, wie es RICHTIG ist, dass in Django.

  • Sie müssen die ajax verwenden, um dies zu tun: wenn der Wert aus der ersten wählen Sie ändern (Länder), machen eine ajax-Anforderung für alle Regionen in diesem Land, und filtern Sie die zweite wählen Sie mit diesen Werten.
  • Ich weiß, aber ich habe noch eine Frage - wie Ihr zu tun Recht auf Django. Ich kann das einfügen von javascript-code in das template für den admin-Bereich und generieren Sie ein anderes auswählen. $('#select1').change(function () { $ajax({ }) })
  • Es gibt einige django-Pakete wie code.google.com/p/django-ajax-filtered-fields und github.com/twidi/django-ajax-select Sie können versuchen, diese
  • Auch django-smart-wählt gut Aussehen
  • Ich Folgte dem, was beschrieben ist in dieser Frage, aber ich bin mir nicht sicher, ob ich alle notwendigen Schritte: Für die schnelle Auswahl eines Landes aus einer region, muss ich hinzufügen auch einige javascript-code?
InformationsquelleAutor yAnTar | 2012-03-29
Schreibe einen Kommentar