与 django 中的旧数据库集成
models.py
是从旧数据库创建的。我已经创建了 models.py
并为应用界面
创建了admin.py
code> 和 installed app
中的应用程序名称,我有大约 76 个表(models.py 中的 76 个类
)。
admin.py:
#! /usr/bin/env python
from django.contrib import admin
from django.db import models
from interface.models import Students,ApplyLeaves
site.register(ApplyLeaves)
site.register(Students)
for m in get_models(db):
site.register(m)
在上述情况下,Students 和 ApplyLeaves 类未在管理界面中注册。
我已将 admin.py
放置在应用程序目录和项目目录中,但应用程序仍然没有注册管理
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想将所有模型注册到 django admin 中,您应该(尽管您不必必须)创建一个管理实例。
这是因为,虽然 django admin 可以仅基于模式公开所有模型,但它有很多花哨的功能来使模式表示成为有意义的真正解决方案。
也就是说,就您而言,您不应该将此
admin.py
保留在项目级别,而应仅保留在应用程序级别。Students
和ApplyLeaves
是否位于您传递给get_models
的同一个db
数据库中?您要做的优雅解决方案如下:
project-folder/bare_tables.py
在您的
urls.py
中,这样您就可以继续构建 在
/admin
中提供有意义的接口,同时将所有表都暴露在/bare-tables
中。If you want to register all models into django admin, you should (although you dont have to) create an instance of the admin.
This is because, although django admin can expose all models based just on the schema alone, it has so many bells and whistels to make that schema representation meaningful real solution.
That said, in your case, you should not keep this
admin.py
in project level, but just at the application level. Is theStudents
andApplyLeaves
in the samedb
database you have passed to theget_models
?The elegant solution to what you are going to do would be as follows:
project-folder/bare_tables.py
In your
urls.py
That way you can continue to build meaningful interfaces in
/admin
while you have all tables exposed in/bare-tables
.@gladysbixy
models.py
{
`
从 django.db 导入模型
}`
我跳过了很多表格,因为厌倦了缩进......
“admin.py”你可以在上一篇文章中找到
@gladysbixy
models.py
{
`
from django.db import models
}`
I have skipped lots of tables cos bored to indent...
`admin.py' you can find in previous post