使用appadmin用于web2py中的db.py之外的其他模型

时间:2013-12-14 17:44:10

标签: python web2py

在web2py中,我创建了一个名为imageblog的新应用程序,默认情况下我在模型中有2个模型:

db.py
menu.py
coffee.py   #this is new one created by me in models i made some tables inside this too

如果我使用网址

http://127.0.0.1:8000/imageblog/appadmin/

我可以看到db.py模型的appadmin,但我的问题是我创建了另一个名为的模型 coffee.py如何在appadmin中打开coffee.py? 我试过了:

http://127.0.0.1:8000/imageblog/coffee/appadmin

我输出为:“无效功能(咖啡/ appadmin)” 但没有运气。 appadmin仅适用于db.py ???

=============================================== ===================================

所以我研究了一点,每个人都告诉我,我应该能够从appadmin访问所有模型,所以我认为它可能是我的代码做错了所以我在coffee.py中粘贴模型:< / p>

db = DAL("sqlite://storage.sqlite")

db.define_table('cimage',
   Field('title', unique=True),
   Field('file', 'upload'),
   format = '%(title)s')

在appadmin中我得到以下内容:

可用的数据库和表

db.auth_user    New Record
db.auth_group   New Record
db.auth_membership  New Record
db.auth_permission  New Record
db.auth_event   New Record
db.auth_cas New Record

1 个答案:

答案 0 :(得分:1)

在appadmin中,您将能够访问任何模型文件中定义的任何模型的数据库表。

更新(根据发布到web2py用户组的信息):

问题是你在coffee.py和db.py中定义db = DAL(...)。因为db.py位于coffee.py之后,所以coffee.py中定义的db对象只是被db.py中定义的对象替换,因此coffee.py中的所有模型都不可用于任何控制器,包括appadmin控制器。

您应该在运行的第一个模型文件中定义db对象一次(模型文件以字母数字顺序运行)。