smart selects formulario filtrar dinamico dependientes jquery python django jquery-plugins

jquery - selects - select django



django smart_selects, el segundo nivel no poblarĂ¡ (3)

No puedo obtener el segundo nivel (subcategoría / E_cat) desplegable para rellenar. El primer nivel (Categoría) parece estar funcionando bien. Creo que he probado casi todas las combinaciones razonables de chained_field y chained_model_field selecciones sin éxito.

Quiero que la tabla Equip se rellene con la ID de la categoría y la ID de la subcategoría.

A continuación se muestra el aspecto actual del modelo. ¿Qué estoy haciendo mal?

model.py

class Category(models.Model): cat_no = models.IntegerField(null=True, blank=True) cat_txt = models.CharField(max_length=45) def __unicode__(self): return self.cat_txt class E_cat(models.Model): cat_no = models.ForeignKey(Category) cat_txt = models.CharField(max_length=45) scat_no = models.IntegerField(null=True, blank=True) scat_txt = models.CharField(max_length=45) def __unicode__(self): return self.scat_txt class Equip(models.Model): category = models.ForeignKey(Category) subcategory = ChainedForeignKey( E_cat, chained_field="category", chained_model_field="cat_no", show_all=False, auto_choose=True, ) manufacturer = models.CharField(max_length=35, blank=True) mfg_no = models.CharField(max_length=35, blank=True) size = models.CharField(max_length=35, blank=True) color = models.CharField(max_length=35, blank=True) quanity = models.IntegerField(null=True, blank=True) short_description = models.CharField(max_length=80, blank=True) location_zip = models.IntegerField(null=True, blank=True) listings = models.ForeignKey(Listings) info = models.TextField(null=True, blank=True)


Esto se ve bien. El problema podría ser que no ha configurado las URL de smart_selects, o quizás le falta el javascript en su página real.


ACTUALIZACIÓN - MAYO 2017

incluir esta etiqueta justo después de jQuery versión 2. Funciona perfectamente bien en las versiones de Django 1.10 y 1.11 utilizando Python 3.5.2. Espero que esto te ayude

<script type="text/javascript" src="{% static ''smart-selects/admin/js/chainedfk.js'' %}"></script> <script type="text/javascript" src="{% static ''smart-selects/admin/js/chainedm2m.js'' %}"></script> <script type="text/javascript" src="{% static ''smart-selects/admin/js/bindfields.js'' %}"></script>


html.file

incluya lo siguiente si usa formularios

<script src="{% static ''smart-selects/admin/js/chainedfk.js'' %}"></script> <script src="{% static ''smart-selects/admin/js/chainedm2m.js'' %}"></script>

models.py

class Continent(models.Model): name = models.CharField(max_length=255) def __str__(self): return self.name class Country(models.Model): continent= models.ForeignKey(Continent) name = models.CharField(max_length=255) def __str__(self): return self.name class City(models.Model): continent= models.ForeignKey(Continent) country= ChainedForeignKey(Country, chained_field="continent", chained_model_field="continent", show_all=False, auto_choose=True, sort=True) name = models.CharField(max_length=255) def __str__(self): return self.name class Neighborhood(models.Model): continent= models.ForeignKey(Continent) country= ChainedForeignKey(Country, chained_field="continent", chained_model_field="continent", show_all=False, auto_choose=True, sort=True) name = models.CharField(max_length=255) city= ChainedForeignKey(City, chained_field="country", chained_model_field="country", show_all=False, auto_choose=True, sort=True) name = models.CharField(max_length=255) def __str__(self): return self.name

admin.py

admin.site.register(Component) admin.site.register(Group) admin.site.register(Failure) admin.site.register(Neighborhood)