2
在项目管理应用程序中,我正在处理它应该可以编辑/删除一张票,如果您是票的所有者(即创建者)和/或管理员该机票属于的项目。自定义过滤器 - 需要两个参数
在模板用于显示一个项目,我想使用自定义过滤器,以确定这一点,作为在这里看到:
{% if ticket|owner_or_admin:user %}
<p>
<a href="{% url ticket_edit project.id %}">Edit</a>
<a id="delete_link" href="{% url ticket_delete ticket.id %}">Delete</a>
</p>
{% endif %}
下面是创建这个自定义过滤器的尝试,但是,这将引发一个错误( 'owner_or_admin需要2个参数,提供1'):
@register.filter(name='owner_or_admin')
def ownership(ticket, project, user):
if ticket.user == user:
return true;
else:
if project.added_by_user == user:
return true
return false
机型:
class Project(models.Model):
... fields ...
added_by_user = models.ForeignKey(User)
class Ticket(models.Model):
... fields ...
user = models.ForeignKey(User)
那么,我该如何提供两个参数?自定义过滤器是否正确?
在此先感谢!
完美,非常感谢! – holyredbeard 2013-03-01 23:41:42