GQLクエリでパラメータ置換を経由して文字列を渡す場合の結果を取得できません。

StackOverflow https://stackoverflow.com/questions/1660640

質問

私は適切にパラメータ置換によるgqlqueryに文字列変数を渡すことができています、ここで私が使用しようとしたコードです。

user_name = self.request.get('username') #retrieved from UI
p = models.UserDetails.all().filter('user_name = ', user_name).fetch(1)

私はどんな結果を得ることはありませんし、クエリが黙って失敗します。しかし、私は難しい。このようなクエリをコーディングするとき、

p = models.UserDetails.all().filter('user_name = ', "peter rice").fetch(1)

私は私の予想結果セットを取得します。私は、コードの右の私の作品を得ることに私を助けてください、私は間違った方法で変数user_nameを渡すと思う。

役に立ちましたか?

解決 2

私は、私はこれを使用してみました、

私はそれを持っていると思います
p = models.UserDetails.gql('WHERE user_name = :uname', uname = user_name).fetch(1)

と私は期待結果セットを得ました。他のフォーマットは、文字列置換に問題を抱えている私はなぜだろうか。

他のヒント

あなたはfilter('user_name = ', str(user_name))を試してみました?
私はあなたがUSER_NAMEが予想されるコンテンツを持っていることを確認していると仮定します。

文字列は、あなたが期待して(と、それはむしろ生よりも、ユニコードではないということ)しているものとまったく同じであることを確認するためにrepr(user_name)をロギングしてみます。また、発現user_name == "peter rice"をロギングしてみてください。それ以外は、私はそれが動作しない理由を何らかの理由を見ることができない - あなたが渡す引数はどこから来るのか、それはわからないので、APIはこの影響を与えることができる方法は、文字通りありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top