0

使用 django 邮件程序(https://github.com/pinax/django-mailer)时,我意识到添加到管理区域的默认表(例如消息日志和消息)没有添加 message_log 字段,如果一个确实可用查看添加的表。

由于错误消息对我来说非常有价值,我想添加它,并简单地将“log_message”添加到应用程序的 MessageLogAdmin 中,如下所示:

class MessageLogAdmin(MessageAdminMixin, admin.ModelAdmin):

    list_display = ["id", show_to, "subject", "message_id", "when_attempted", "result", "log_message"]
    list_filter = ["result"]
    date_hierarchy = "when_attempted"
    readonly_fields = ['plain_text_body', 'message_id']
    search_fields = ['message_id']

但是,除了修改源代码之外,真的没有其他方法可以为 django-mailer 自定义管理区域吗?例如通过 settings.py

4

1 回答 1

1

不,你不能通过settings.py

如果我理解正确,您不想仅仅为了编辑而分叉应用程序admin.py,而是将其保存在requirements.txt文件中。在这种情况下,您可以执行以下操作:

class MyOwnMessageLogAdmin(MessageAdminMixin, admin.ModelAdmin):

    list_display = ["id", show_to, "subject", "message_id", "when_attempted", "result", "log_message"]
    list_filter = ["result"]
    date_hierarchy = "when_attempted"
    readonly_fields = ['plain_text_body', 'message_id']
    search_fields = ['message_id']

admin.site.unregister(MessageLog)
admin.site.register(MessageLog, MyOwnMessageLogAdmin)
于 2020-12-29T22:28:43.073 回答