【发布时间】:2011-08-15 14:08:43
【问题描述】:
我决定使用Django-Simple-History 来构建我的模型的历史。反过来使用它来构建仪表板。不过,我遇到了一些障碍。我正在尝试在 [时间] 上/在 [时间] 输出 [用户] [添加、更改、删除] [对象],但我一生都无法弄清楚。
到目前为止,我可以在模板上显示历史记录,但我无法访问其他任何内容,是我遗漏了什么吗?
我希望了解简单历史的人可以提供帮助,因为我无法联系到作者。
这是我目前拥有的代码 sn-ps。
模型.py
from simple_history.models import HistoricalRecords
class Project(django.db.models.Model):
...
history = HistoricalRecords()
Views.py
@login_required
def addTMProject(request):
user = request.user
if request.method == 'POST':
form = TimeMaterialsForm(request.POST)
if form.is_valid():
project = form.save(commit=False)
project.created_by = request.user
today = datetime.date.today()
project.pre_quote = "%s-" % (str(today.year)[2:4])
project.quote = Project.objects.latest().quote+1
project.save()
project.history.all()
...
而且我还在我的dashboard/views.py 上传递了它,所以我可以访问它。
@login_required
def view_dash(request):
today = datetime.date.today()
user = request.user
proj_perm = user.has_perm('project.add_project')
project = Project.objects.all().order_by('-proj_name')
query = Project.objects.all().order_by('-id')[:5]
que_quotes = Project.objects.filter(status__value__exact = 'Quote')
expired = FollowUp.objects.filter(next_followup__lte=today).order_by('next_followup').filter(archived=False)
log = LogEntry.objects.select_related().all().order_by("-id")
hist = Project.history.all()
return render_to_response('dashboard/home.html', {'user': user, 'project': project, 'query':query, 'que_quotes':que_quotes, 'expired':expired,
'proj_perm':proj_perm, 'log': log, 'hist':hist,}, context_instance=RequestContext(request))
最后是我的模板中的一个 sn-p。现在,{{ h }} 在模板上显示“Testing Simple Records as of 2011-04-29 10:43:57”
home.html
{% if user.is_authenticated %}
<div id="large_box">
<h5>Activity</h5>
{% for h in hist %}
<ul>
<li>{{ h }}</li>
</ul>
{% endfor %}
如果有人可以帮助或向我指出一些更深入的文档,那就太好了!
谢谢大家!
【问题讨论】:
标签: python django django-models django-templates django-views