gpt4 book ai didi

Python 循环引用问题 :

转载 作者:行者123 更新时间:2023-12-01 06:14:26 26 4
gpt4 key购买 nike

我得到:

ImportError: cannot import name Image (from image_blob.py)

请帮助我,谢谢:s

我的代码:

图像.py:

from google.appengine.ext import db
from app.models.item import Item

class Image(Item):
# imports
from app.models.image_blob import ImageBlob
#from app.models.user import User
#from list_user import ListUser # is needed in order to have the references

# references
#uploaded_by_user = db.ReferenceProperty(User, required = True)
large_image = db.ReferenceProperty(ImageBlob, required = True)
small_image = db.ReferenceProperty(ImageBlob, required = True)

# image info
title = db.StringProperty(required = True)
description = db.StringProperty(required = False)

# metadata


# relations

图像_blob:

from google.appengine.ext import db


class ImageBlob(db.Model):
from app.models.image import Image

data = db.BlobProperty(required = True)
image = db.ReferenceProperty(Image, required = True)

最佳答案

您尝试在处理整个 image.py 之前从 image_blob.py 导入。在发生 from app.models.item import Item 时,class Image 尚未定义,因此还无法导入(整个类定义必须在实际定义符号之前处理完毕。

对此有一个简单的解决方案:不要在 ImageBlob 上定义 image 属性。 AppEngine 的模型自动为您定义一个向后引用,因此当您将 ImageBlob 添加到 Image 时,它会自动在ImageBlob 引用回引用它的 Image 集合(在您当前的用例中,其大小应为 1)。

关于Python 循环引用问题 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4065117/

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