2016-04-12 12 views
0

チケットにユーザーがいないときには、「ユーザーが割り当てられません」とします。Djangoでユーザー名を選択した文字列に置き換える方法

私は私のモデルにこれをしなかったが、私は、割り当てられたチケットのために割り当てられたユーザである任意の変更

def __unicode__(self): 
     print 'gets here****' 
     if not self.assigned: 
      return 'No user assigned' 
     else: 
      return self.assigned 

が表示されません。

これを行う他の方法はありますか?

私は私のテンプレートを持っており、このようなビュー:

{% for ticket in tickets %} 
       <tr> 
        <td>{{ ticket.title }}</td> 
        <td> 
        {% for user in ticket.assigned.all %} 
         {{ user.email }}{% if not forloop.last %},{% endif %} 
        {% endfor %} 
        </td> 

と私のビュー:

def get_data(self, **kwargs): 
     context = super(View, self).get_data(**kwargs) 
     project = self.project_described() 

     context.update({ 
      "project": project, 
      "tickets": project.tickets.all() 
     }) 
     return context 

答えて

2

あなたはそれはそれを含めてあまり意味がありませんfor...empty

を使用することができますモデルでは、forループで繰り返されるものが空であればデフォルトを提供することができます

{% for user in ticket.assigned.all %} 
    {{ user.email }}{% if not forloop.last %},{% endif %} 
{% empty %} 
    No user assigned 
{% endfor %} 

ここでの利点は、いつでもemptyセクションを使用して、ボタンをテーブルに挿入して人を割り当てることができることです。

+1

{{ user }}を使用して試してみてください!ありがとう – user1958532

0

は、それが動作する代わりに{{ user.email }}

+1

レビューをしている人は誰でも、技術的には正しい解決方法を呼び出すので実際にこの問題を解決するかもしれません – Sayse

関連する問題