关于生产的Django没有在Django Admin

时间:2017-10-20 12:18:12

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

我正在研究Django 1.10& Python 3.6项目,我已经使用gunicorn在计算引擎上成功部署了它。我的项目工作正常,但我有一个问题,我有两个模型作为"文章" &安培; " 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_fit& Django管理员中显示article个字段,为什么其他字段不会显示在Django管理员中?即使它显示其他字段,如链接,用户和&如您所见,我已在list_display中添加了这些字段。

请帮帮我! 提前谢谢!

1 个答案:

答案 0 :(得分:0)

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