J'ai le problème suivant. J'ai une classe de contact que les différents utilisateurs peuvent marquer avec leurs propres sujets:problème avec le filtrage dans une liste déroulante propertyproperty - Django
class Contact(db.Model):
contact_date = db.DateProperty(auto_now_add=True)
remarks = db.TextProperty()
topic = db.ReferenceProperty(Topic)
class Topic(db.Model):
topic = db.StringProperty(required=True)
description = db.TextProperty()
owner = db.ReferenceProperty(User, collection_name='topic_set')
def __unicode__(self):
return '%s' % (self.topic)
Dans la forme de ce que je veux seulement montrer les sujets pour un utilisateur
class ContactForm(forms.ModelForm):
def __init__(self, user_filter, *args, **kwargs):
self.base_fields['topic'].queryset = Topic.all().filter('owner
= ', user_filter)
super(ContactForm, self).__init__(*args, **kwargs)
J'appelle alors la ContactForm de la vue comme suit:
form = ContactForm (user_filter = request.user.key())
tout cela fonctionne comme prévu. Cependant, quand je soumets le formulaire, je reçois:
Caught an exception while rendering: Unsupported type for property :
<class 'django.http.QueryDict'>
Est-ce que je fais quelque chose de mal? Est-ce un problème avec la mise en œuvre appengine django ? Peter
Pouvez-vous nous montrer l'exception complète, et le code sur lequel il se produit? Il ne semble pas que cela ait quelque chose à voir avec le code que vous nous avez montré. –
Nick, je l'ai résolu. J'ai eu ce qui suit: si request.method == 'POST': form = ContactForm (request.user.key()) ajouté des données = request.POST Merci vous m'a aidé à chercher ailleurs –