0

私は、GAE を使用するプロジェクトの python をいくつか学びましたが、1 つのことを除いてすべてを理解しました。GAE モデルを JSON に変換するとき、BlobProperty をスキップするにはどうすればよいですか (たとえば、プロファイル モデルにアバター プロパティがある場合)。したがって、標準の代わりに:

def to_dict(self):
    return dict([(p, unicode(getattr(self, p))) for p in self.properties()])

次のようなものが必要です:

def to_dict(self):
    return dict([(p, unicode(getattr(self, p))) for p in self.properties() if type(p) is not db.BlobProperty])

しかし、それは私にとってはうまくいきません。私はこのスレッドを見ていましたが、これはかなり似ていますが、私の場合はうまくいきません。私はおそらく Python で何か間違ったことをしています。何かご意見は?

4

1 に答える 1

0

db.Model.properties() は、文字列の dict をプロパティに返し、dict. iterはキーのみを生成します。したがって、type(p) は常に文字列になります。キーと値が必要な場合は、代わりにdb.Model.properties().items()を使用してください。デシベル。モデル。

代わりに次のようなものを試してください:

def to_dict(self):
  return dict([(p, unicode(getattr(self, p))) for p,t in self.properties().items() if type(t) is not db.BlobProperty])
于 2013-03-21T22:24:37.110 に答える