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