【发布时间】:2012-08-10 02:40:15
【问题描述】:
有一个注册按钮,可以为该特定活动创建参加者。(有效)。但是,单击“注册”后,模板会为upcoming 中的每个事件识别'is_attending'= True(已注册!)。
查看:
def index(request):
upcoming = Event.objects.filter(date__gte=datetime.now())
if request.user.is_authenticated():
profile = Profile.objects.get(user=request.user)
is_attending = False
for event in upcoming:
attendees = [a.profile for a in Attendee.objects.filter(event=event)]
if profile in attendees:
is_attending = True
模板
{% if is_attending %}
<a><Registered!</a>
{% else %}
<form>... registration form ... Register Now...
我猜发生了什么:
event 1 : Registered!
event 2 : Registered!
event 3 : Registered!
当我需要的是:
event 1 : Registered!
event 2 : Register Now
event 3 : Register Now
我不太确定为什么这对我不起作用?我如何循环返回is_attending,只为那些在upcoming事件中注册的人?
型号:
class Attendee(models.Model):
event = models.ForeignKey(Event)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
profile = generic.GenericForeignKey('content_type', 'object_id')
【问题讨论】:
标签: python django django-templates