これは私のコードです:
class SocialNodeSubscription(model.Model):
def __init__(self, *args, **kwargs):
permissions=["post","read","reply","admin"]
for p in permissions:
self.__dict__["can_"+p]=model.BooleanProperty(default=True)
モデルでフィールドを動的に定義する必要がありますが、 dictがフィールドを配置する適切な場所ではないため、これは機能しないようです。
ndbについて知らない人にとっては、これがより簡単な方法であるように見えるでしょう。
class SocialNodeSubscription(model.Model):
def __init__(self, *args, **kwargs):
self.can_write=model.BooleanProperty(default=True)
self.can_read=model.BooleanProperty(default=True)
...
編集:
これで、私のコードは次のようになります。
def __init__(self, *args, **kwargs):
permissions=["post","read","reply","admin"]
for p in permissions:
self._properties["can_"+p]=model.BooleanProperty(default=True)
self._fix_up_properties()
しかし、それでもこのエラーが発生します。
ファイル"C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ ext \ ndb \ model.py"、972行目、_store_value entity._values [self._name] = value TypeError:'NoneType'オブジェクトはアイテムの割り当てをサポートしていません
どういう意味ですか?