gpt4 book ai didi

python - 设置 ReferenceProperty 值时出现 KindError

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:15 25 4
gpt4 key购买 nike

这段看似完美的 Google App Engine 代码失败并出现 KindError。

# in a django project 'stars'
from google.appengine.ext import db

class User(db.Model):
pass

class Picture(db.Model):
user = db.ReferenceProperty(User)

user = User()
user.put()

picture = Picture()
picture.user = user
# ===> KindError: Property user must be an instance of stars_user

在 google.appengine.ext.db.ReferenceProperty.validate 中引发异常:

def validate(self, value):
...
if value is not None and not isinstance(value, self.reference_class):
raise KindError('Property %s must be an instance of %s' %
(self.name, self.reference_class.kind()))
...

最佳答案

事实证明,我将 admin.py 中的模型导入为

from frontend.stars.models import Star

该行污染了 Star 的模块命名空间,并且 isinstance 查询失败。

>>> user.__class__
<class 'frontend.stars.models.User'>
>>> Picture.user.reference_class
<class 'stars.models.User'>

关于python - 设置 ReferenceProperty 值时出现 KindError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com