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 中不可见

从应用程序更改时,django 简单历史记录不起作用

我的反应应用程序中的按钮在 iPhone 的浏览器中不可见

在 dijit.form.ContentPane 中使用表在 Internet Explorer 7 中不起作用

为啥代码隐藏文件在 VB.NET Web 应用程序项目中不可见?

DAG 在 Web-UI 中不可见