【发布时间】:2013-01-24 18:36:07
【问题描述】:
我正在尝试从 m2m 关系返回过滤值以在模板中使用。应该是微不足道的,但我无法让它工作。
我尝试按照here 的描述在模型中执行此操作,但没有成功。现在我在视图中尝试一种可能更简单的方法,描述为here,但也无法让它工作。
class Activity(models.Model):
activity_nm = models.CharField(max_length=60)
enddt = models.DateField()
groups = models.ManyToManyField(Group)
def __unicode__(self):
return self.activity_nm
class Group (models.Model):
group_nm = models.CharField(max_length=64)
def __unicode__(self):
return self.group_nm
def group_details_page(request, group_nm):
g=Activity.objects.filter(groups__in=[Group.objects.filter(group_nm=group_nm)],enddt__gt=now)
return render_to_response('group_details_page.html', {'group': g},context_instance=RequestContext(request))
我的目标是返回一个组的所有活动,其中活动的结束日期 > 现在可以在模板中使用。
谢谢。
编辑:收到的错误是: int() 参数必须是字符串或数字,而不是 'QuerySet'
EDIT2:看起来这个问题比我想象的要多。我现在无法返回任何值。
g=Group.objects.all()
不向模板返回值。模板解析了 base.html 调用,但试图只显示 {{ group.group_nm }} 是行不通的。
EDIT3:得到它返回组名(抱歉混淆)。
【问题讨论】:
-
究竟是什么错误?
-
这个错误会有所帮助,不是吗。现已添加。
-
您使用
RequestContext有什么原因吗?如果你不做特别的context preprocessing你就不需要它。 -
您的模板中需要
Group.group_nm? -
是的,它显示在标题中。
标签: python django many-to-many django-views