如何在单行对帐单中用外键列出 td 中分配给给定人的所有电话号码?
from itertools import chain
from collections import Counter
lst = ['AA', 'BB', 'CC']
Counter(chain.from_iterable(lst))
# Counter({'A': 2, 'B': 2, 'C': 2})
,telefony_list
和osoby_list
包含从通用ListView推送的所有对象。
email_list
编辑:
我刚刚用
解决了这个问题<tbody>
{% for osoba in osoby_list %}
<tr>
<td>{{osoba.id}}</td>
<td>{{osoba.imie}}</td>
<td>{{osoba.nazwisko}}</td>
<td>{% tel.telefon for tel in telefony_list if tel.osoba_id == osoba.id %}{% endfor %}{% endif %}</td>
</tr>
</tbody>
但是如何分割 tel.telefon 字符串?现在它们已经被链接在一起,没有空格了,我必须在一个 td
中显示它们彼此之间的位置。我的模型。py:
{% for tel in telefony_list %}
{% if tel.osoba_id == osoba.id %}
{{tel.telefon}}
{% endif %}
{% endfor %}
</td>
答案 0 :(得分:0)
@RadosławHryniewicki:首先-在代码中始终使用英文名称。
这是应该起作用的代码:
class Osoba(models.Model):
imie = models.CharField(max_length=40)
nazwisko = models.CharField(max_length=50)
def __str__(self):
return "%s %s" % (self.imie, self.nazwisko)
@property
def phones(self):
return list(Telefon.objects.filter(osoba=self).values_list('telefon', flat=True))
# use in your template:
#
# {% autoescape off %}
# {{ osoba.phones|join:"<br />" }}
# {% endautoescape %}