【发布时间】:2010-07-28 21:50:44
【问题描述】:
我在同一个模块的一个文件中有这个类,在另一个文件中有项目类。如果在我定义新 Channel 时它们位于不同的模块或文件中,则会出现错误,因为 Item 不在同一个文件中。我怎么解决这个问题?如果两个类都在同一个文件中,我不会收到任何错误。
ChannelTest.py
from ItemTest import Item
metadata = rdb.MetaData()
channel_items = Table(
"channel_items",
metadata,
Column("channel_id", Integer,
ForeignKey("channels.id")),
Column("item_id", Integer,
ForeignKey("items.id"))
)
class Channel(rdb.Model):
""" Set up channels table in the database """
rdb.metadata(metadata)
rdb.tablename("channels")
id = Column("id", Integer, primary_key=True)
title = Column("title", String(100))
items = relation("Item",
secondary=channel_items, backref="channels")
Item.py不同的文件,但在同一个模块中
class Item(rdb.Model):
""" Set up items table in the database """
rdb.metadata(metadata)
rdb.tablename("items")
id = Column("id", Integer, primary_key=True)
title = Column("title", String(100))
提前致谢!
【问题讨论】:
-
re: "in another file in the same module": 我认为 Python 模块 是 一个文件(另见docs.python.org/tutorial/modules.html);你的意思是“包”而不是“模块”? (只是检查一下,这让我有些困惑......)
标签: python sqlalchemy