Django TypeError 'QueryDict' objet n'est pas appelable
J'ai regardé pour les postes qui ont enduré le même problème que je suis en train de faire face. Mais je n'ai pas trouvé de solution. Ce que mon problème est:
J'ai une liste de balises. Généré par {% for tag in all_tags %}
. Chaque balise a un tagstatus forme. Lorsqu'un utilisateur sélectionne une option dans une liste déroulante, la forme présente et est censé enregistrer le TagStatus objet (les Balises sont foreignKey à TagStatus). Cependant, ce qui revient est: est-ce
Exception Type: TypeError
Exception Value: 'QueryDict' object is not callable
html:
<form class="nice" id="status-form" method="POST" action="">
{% csrf_token %}
<input type="hidden" name="status_check" />
<input type='hidden' name="tag" value="{{ tag }}" />
<select name="select" id="positionSelect" class="input-text category" onchange="this.form.submit()">
<option name="all" value="0">Your Status</option>
<option name="investing" value="1">Status 1</option>
<option name="selling" value="2">Status 2</option>
<option name="interested" value="3">Status 3</option>
</select>
</form>
views.py:
@login_required
def tags(request):
all_tags = Tag.objects.all()
context = base_context(request)
if request.method == 'POST':
if 'status_check' in request.POST:
status = request.GET('status')
tag = request.GET('tag')
user = request.user
tag_status, created = TagStatus.objects.get_or_create(status=len(status), tag=tag, user=user).save()
response = simplejson.dumps({"status": "Successfully changed status"})
else:
response = simplejson.dumps({"status": "Error"})
return HttpResponse (response, mimetype='application/json')
context['all_tags'] = all_tags
return render_to_response('tags/tag.html', context, context_instance=RequestContext(request))
models.py (si applicable):
class TagStatus(models.Model):
user = models.ForeignKey(User, null=True, unique=True)
status = models.CharField(max_length=2, choices=tag_statuses)
tag = models.ForeignKey(Tag, null=True, blank=True)
def __unicode__(self):
return self.status
def save(self, *args, **kwargs):
super(TagStatus, self).save(*args, **kwargs)
De ce que je comprends, il a quelque chose à voir avec le statut n'étant pas un nombre. Mais quand je la convertir en int. Je reçois la même erreur. S'il vous plaît aider moi. Pourquoi est-ce arrivé? Et quel est la solution? Je ne suis pas tout à fait sûr de savoir comment résoudre ce problème. Je vous remercie pour votre aide à l'avance.
OriginalL'auteur Modelesq | 2013-04-03
Vous devez vous connecter pour publier un commentaire.
Je crois que l'erreur que vous avez des est dans ces lignes:
demande.OBTENEZ est un QueryDict, et en ajoutant a) b) après il tente "d'appeler" un non-objet appelable. Il semble que la syntaxe que vous recherchez est à la recherche dans le dictionnaire syntaxe:
Pour moi, c'était à l'aide de @bien sur la fonction, en fait un bien sans appel ()
OriginalL'auteur Jeffrey Froman
ou tout simplement appeler Obtient de vos valeurs
OriginalL'auteur f-re