我在Django模型中定义了多个相关表:
# first models.py
from django.db import models
class Character(models.Model):
first_field = models.DateTimeField()
second_field = models.TextField()
# second models.py
from django.db import models
class Op(models.Model):
fk_character = models.ForeignKey('Character')
some_field = models.DateTimeField()
other_field = models.TextField()
class Participant(models.Model):
fk_op = models.ForeignKey('Op')
fk_character = models.ForeignKey('Character')
some_other_field = models.IntegerField(default=0)
现在,我以这种方式将数据从视图发送到模板:
# views.py
from django.shortcuts import render_to_response
from django.template import RequestContext
from second.models import MainModel
def home(request):
data = Op.objects.filter(some_field__isnull=True).order_by('-date')
rc = RequestContext(request, {'data':data})
return render_to_response('index.html', rc)
这样Op
,我的index.html
模板中确实有了我需要的所有相关数据,但是我在逻辑上苦苦挣扎,无法以特定的方式在模板中显示这些数据。例如:
显示所有列表Ops
,
对于每个列表项,检查是否Character
也是Participant
当前Op
项,
如果不是,则显示一些按钮;如果不是,则显示按钮
我知道模板不应该处理任何编程逻辑,但是我也不确定什么是解决此问题的最佳方法。我应该执行视图中的所有逻辑并构造一个新对象,然后将该对象发送到视图中,还是有一种简单的方法可以使用当前要发送的当前对象在模板中解决此问题?
www说
相关分类