django管理员:如何在多列内联中使用smart_selects

问题描述 投票:1回答:1

我如何在多列内联中使用smart_selects我需要在django管理员中选择(选择国家/地区)并以内联方式显示此国家/地区的城市

我使用:

smart_selects:django_smart_selects_711-1.0.0.dist-info

fieldsets_with_inlines:django_fieldsets_with_inlines-0.5

see what i need



class Country(models.Model): 
    status_choice = (
        (1, 'Supprimé'),
        (2, 'Désactivé'),
        (3, 'Activé'),
    )

    nom = models.CharField(max_length=100, blank=False,verbose_name="Nom")
    continents = models.ForeignKey(Continents, on_delete=models.CASCADE,verbose_name="Continents")
    region = models.ManyToManyField(RegionsMonde,verbose_name="Région")
    superficie = models.CharField(max_length=100, blank=True,verbose_name="Superficie")
    population = models.CharField(max_length=100, blank=True,verbose_name="Population")
    capitale = models.CharField(max_length=100, blank=True,verbose_name="Capitale")
    devise = models.CharField(max_length=100, blank=True,verbose_name="Devise")
    LangueOfficielle = models.CharField(max_length=100, blank=True,verbose_name="Langue(s) officielle(s)")
    formeEtat = models.CharField(max_length=100, blank=True,verbose_name="Langue(s) officielle(s)")
    chefEtat = models.CharField(max_length=100, blank=True,verbose_name="Chef de l'Etat")
    feteNationale = models.CharField(max_length=100, blank=True,verbose_name="Fête nationale")
    monnaie = models.CharField(max_length=100, blank=True,verbose_name="Monnaie")
    cgPm = models.CharField(max_length=100, blank=True,verbose_name="Chef du Gouvernement/Premier Ministre")
    ministreTutelle = models.CharField(max_length=100, blank=True,verbose_name="Ministre(s) de tutelle")
    lienMinistre = models.CharField(max_length=100, blank=True,verbose_name="Lien du Ministère")
    nbrUniversits = models.CharField(max_length=100, blank=True,verbose_name="Nbr d'Universités")

    status = models.IntegerField(choices=status_choice,default=3)

    def __str__(self):  # __unicode__ for Python 2
        return self.nom
    class Meta:
        ordering = ('nom',)
        verbose_name = 'Pays'
        verbose_name_plural = 'Pays'

    def regionName(self):
        return ', '.join([r.nom for r in self.region.all()])
    regionName.short_description = "Regions"




class City(models.Model):

    nom = models.CharField(max_length=100, blank=False)
    country = models.ForeignKey(Country, on_delete=models.CASCADE)

    def __str__(self):
        return self.nom
    class Meta:
        unique_together = ('country', 'nom')

        verbose_name = 'City'
        verbose_name_plural = 'Cities'

django admin
1个回答
0
投票
我找到了Jquery的解决方案,也许有人遇到了同样的问题我在表国家/地区中添加了列Foreignkey city以计价,并将其放入带有for循环的内联城市字段中

id_city是django中的一个隐藏字段

$(document).ready(function() { $("#id_country").change(function() { setTimeout(function() { var $total_cities = $("#id_city ").val() for (i = 0; i < $total_cities; i++) { var $options_id_city = $("#id_city > option").clone(); $('#id_citie_set-' + i + '-city > option').remove(); $('#id_citie_set-' + i + '-city').append($options_id_etat); } } , 200); // wait for smart select to charge } ); }

);
© www.soinside.com 2019 - 2024. All rights reserved.