【问题标题】:Django on Production doesn't display all fields of my Models in Django AdminDjango on Production 不会在 Django Admin 中显示我的模型的所有字段
【发布时间】:2018-04-01 14:44:19
【问题描述】:

我正在开发一个 Django 1.10 和 Python 3.6 项目,我已经使用 gunicorn 成功地将它部署在计算引擎上。我的项目运行良好,但我有一个问题,我有两个模型作为“Articles”和“TaggedArticle” ",我在 admin.py 中指定了 TaggedArticle 的所有字段,但它没有显示在 Django admin 中,而是在我的本地系统上显示 Django admin 中的所有字段。现在部署后,我使用的是 Postgresql 而不是 SQLite。

更新:字段不仅仅显示在 Django Admin 中 TaggedArticle 的详细视图中

这是我的模型:

文章型号:

class Article(models.Model):
    link = models.URLField(max_length=255)
    category = models.CharField(max_length=255, choices=Categories)

TaggedArticle 模型:

class TaggedArticle(models.Model):
   user = models.ForeignKey(User, related_name='tagging')
   email = models.EmailField(max_length=255)
   category_fit = models.CharField(choices=choices, max_length=255)
   article = models.ForeignKey(Article, related_name='articles')
   link = models.URLField(max_length=255,)
   relevant_feedback = models.TextField(blank=True)
   category = models.CharField(max_length=255,)
   created_at = models.DateTimeField(default=timezone.now, editable=False)

这是我的 TaggedArticle 的 admin.py:

User =  get_user_model()
admin.site.unregister(User)

class InlineTaggedArticle(admin.TabularInline):
    model = TaggedArticle

class CustomAdmin(UserAdmin):
    date_hierarchy = 'date_joined'
    inlines = [InlineTaggedArticle, ]
    list_display = list(UserAdmin.list_display) + ['totol_tagged_article']

    def totol_tagged_article(self, obj):
        return obj.tagging.all().count()

admin.site.register(User, CustomAdmin)


class TaggedArticleAdmin(admin.ModelAdmin):
    date_hierarchy = 'created_at'
    fields = ['category_fit', 'article', 'link', 'relevant_feedback', 'category', 'user', 'email']
    list_display = ['link', 'user', 'email']
    list_filter = ['user', 'email']
    model = Tagged

admin.site.register(Tagged, TaggedArticleAdmin)

只有category_fitarticle 字段显示在Django admin 中,为什么其他字段不显示在Django admin 中?即使它显示其他字段,如链接、用户和电子邮件,如您所见,我已在 list_display 中添加了这些字段。

请帮帮我! 提前致谢!

【问题讨论】:

  • 可能是您更新了模型并且没有在生产中应用迁移?
  • 嗨,@sinned!我已应用所有迁移!
  • 你是如何部署的?您是从生产环境中的 git 存储库中提取代码吗?如果是这样 - 所有更改是否都推送到正确的分支?确保生产环境中的 admin.py真的符合您的期望。
  • 是的!我只是第一次从 GitHub 克隆了我的代码,但现在我正在通过 ssh 使用 nano 编辑器对我的服务器实例进行更改。
  • 如果它在本地工作而不是在生产环境中运行,那么显然生产环境不会运行相同的代码......所以首先检查你在生产环境中真正拥有的内容(源代码等)并且你重新启动了你的服务器进程部署后。哦,是的:不要直接在生产服务器上编辑你的代码 - 在本地进行更改,测试它们,一旦你有一个工作版本将它部署到生产中。

标签: python django postgresql django-models django-admin


【解决方案1】:

在 TaggedArticle 模型的 created_at 字段中存在缩进问题,或者可能只是在编写问题时出现拼写错误。修复此问题,然后应用迁移并检查。

【讨论】:

  • 写问题的时候打错字了!
猜你喜欢
  • 2020-02-14
  • 1970-01-01
  • 2021-09-18
  • 2013-08-28
  • 2011-03-07
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多