2011-11-02 2 views
0

je la mise en page du modèle suivant:Django et Ajax/Javascript

class A(models.model): 
    options = models.ManyToManyField(OptionSet, blank=True, null=True) 
    values = models.ManyToManyField(Value, blank=True, null=True) 

class OptionSet(models.model): 
    name = models.TextField(unique=True) 
    values = models.ManyToManyField(Value) 

    def __unicode__(self): 
     return '%s' % self.name 

class Value(models.Model): 
    name = models.TextField() 
    key = models.ForeignKey(Key, related_name='values') 

class Key(models.Model): 
    name = models.TextField(unique=True) 

Et mon forms.py ressemble à ceci:

class A_Form(ModelForm): 
    values = forms.ModelMultipleChoiceField(queryset=Value.objects.all(), widget=CheckboxSelectMultiple, label="Einzelne Werte", required=False) 
    options = forms.ModelMultipleChoiceField(queryset=OptionSet.objects.all(), widget=CheckboxSelectMultiple, label="Optionen Sets", required=False) 

Modèle:

<form action="." method="POST">{% csrf_token %} 
    {{ form.as_table }} 
    <input type="submit" value="Update"/> 
</form> 

J'utilise ce forme avec une vue de mise à jour générique! Je suis nouveau à javascript/ajax pour être honnête jamais fait quelque chose en javascript/ajax. Qu'est-ce que je veux faire est sur mouseover sur le nom des options, il devrait montrer toutes les valeurs pour cet ensemble d'options. Comment pourrait-on accomplir cela?

Répondre

0

Vous pouvez utiliser la méthode .post() de jquery pour envoyer le nom de l'option active au script django (en fait l'URL sur le serveur) .Vous pouvez alors connaître toutes les valeurs en utilisant les requêtes (je suppose que vous savez déjà pour extraire des données à partir de modèles). Ensuite, vous pouvez utiliser HttpResponse() pour renvoyer la liste des valeurs calculées à votre page.

+0

Désolé de demander et merci pour votre réponse n'est pas trop compliqué? –

+0

Si vous connaissez une réponse plus simple alors oui. Dans ce cas, partagez votre réponse plus simple wagner-felix. Sinon, non –

+0

Ok, merci! @Lajos Arpad –