Django 应用程序表在管理 UI 中不可见
Posted
技术标签:
【中文标题】Django 应用程序表在管理 UI 中不可见【英文标题】:Django app tables not visible in admin UI 【发布时间】:2012-09-05 01:28:38 【问题描述】:要点 - 表已从模型成功创建,但在管理 UI 中不可见 - 环境 - Windows 7、Python 2.7、VirtualEnv、SQLite
我在我的 django 应用程序中定义了几个模型。这里是model.py文件的相关内容
from django.contrib.auth.models import User, models
class ProviderProfile(models.Model):
# This field is required.
user = models.OneToOneField(User)
# Other fields for Provider here
number = models.CharField(('Number'), max_length = 30, blank = True)
street_line1 = models.CharField(('Address 1'), max_length = 100, blank = True)
street_line2 = models.CharField(('Address 2'), max_length = 100, blank = True)
zipcode = models.CharField(('ZIP code'), max_length = 5, blank = True)
city = models.CharField(('City'), max_length = 100, blank = True)
state = models.CharField(('State'), max_length = 100, blank = True)
class Admin:
pass
根据https://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-objects 此处的说明,我在此应用中添加了一个 admin.py 文件,其中包含以下内容
from django.contrib import admin
from UserProfile.apps.ProviderProfile.models import Service, ServiceProvider, ProviderProfile
admin.site.register(Service)
admin.site.register(ServiceProvider)
admin.site.register(ProviderProfile)
我还在我的 settings.py 文件中添加了以下内容django ignoring admin.py
INSTALLED_APPS = (
'Path.To.MyApp',
)
现在,当我执行 syncdb 时,django 告诉我它已经创建了表(我使用 SQLiteManager 进行了验证)。不幸的是,我在管理 UI 中看不到它们。我在那里看到其他应用程序的表格。
我错过了什么?
【问题讨论】:
添加admin.py后是否重启了开发服务器? 是的,我做过...多次。每次我删除数据库并看到执行 syncdb django 时都会创建表,但它们在管理 UI 中不可见 【参考方案1】:class ProviderProfileAdmin(admin.ModelAdmin):
pass
admin.site.register(ProviderProfile, ProviderProfileAdmin)
【讨论】:
根据此链接docs.djangoproject.com/en/dev/ref/contrib/admin/…,由于我没有进行任何自定义,因此以下内容就足够了。 admin.site.register(ProviderProfile) 不正确吗?【参考方案2】:您是否将admin.autodiscover()
放入了 urls.py 中?该方法在您的应用程序中查找 admin.py 文件。
【讨论】:
以上是关于Django 应用程序表在管理 UI 中不可见的主要内容,如果未能解决你的问题,请参考以下文章
由 Terraform 在 LocalStack 中创建的 DynamoDB 表在 NoSQL Workbench 中不可见
在 dijit.form.ContentPane 中使用表在 Internet Explorer 7 中不起作用