django - Django-simple-history 在管理网站以外的网页上显示日志
问题描述
我已成功在管理页面注册 Django-simple-history。我现在一直在尝试让审核 (CRUD) 日志显示在管理站点以外的网页上。该页面当前显示为空白。
这是我试图让这个工作 -
视图.py 文件
def audit_trail(request, id):
if request.method == "GET":
obj = My_Model.history.all(pk=id)
return render(request, 'audit_trail.html', context={'object': obj})
audit_trail.html 文件
{%extends "did/base.html" %}
{% block content %}
{% for h in object%}
{{ h.id }}
{{ h.carrier }}
{% endfor %}
{% endblock content %}
网址模式
path('audit_trail/', views.audit_trail, name='audit_page'),
** 模型文件 **
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from simple_history.models import HistoricalRecords
class My_Model(models.Model):
field1 = models.CharField(max_length=100)
field2 = models.DateTimeField(default=timezone.now)
field3 = models.CharField(max_length=100)
history = HistoricalRecords()
解决方案
这里的问题是您的查询集没有返回任何内容。历史表上的主键history_id
不是id
来自您的基My_Model
表。因此,如果您将查询更新为
My_Model.history.filter(id=id)
,那么这应该可以工作。
推荐阅读
- flutter - 颤动 - 垂直对齐按钮
- javascript - 选中复选框时保持表单文本输入的可见性
- smartsheet-api - smartsheet API 或 SDK 中的筛选选项
- c# - 从C#中的datagridview导出一个excel列
- python - 如何使用来自其他线程的信号事件进行多线程处理
- html - 如何通过鼠标移动在画布上滑动图像?
- ios - WKWebView CALayer - iOS 13
- python-3.x - 执行按钮时如何将焦点设置回原始条目小部件?(Python)
- python - pyHook-1.5.1-cp37-cp37m-win_amd64.whl 不是该平台支持的轮子
- sql - 插入新行时列中的默认值