Этот ответ является ответом на проблему, но не решением вопроса. Если вы не можете объявить переменную внутри скобок в реакции (как вы могли бы сделать, например, в Razor). Лучше всего сделать ставку дважды, сделав выписку.
render() {
const statement = true
const stuff = statement ? this.buildStuff() : null
return (
<div>
{
statement &&
<div>
<p>
{stuff}
</p>
<p>
{stuff}
</p>
<p>
{stuff}
</p>
</div>
}
</div>
);
}
По крайней мере, мы называем this.buildStuff()
только при необходимости, и если мы делаем, мы называем это только один раз.
Так, спустя 15 минут после задавания вопроса, и я нашел свой собственный ответ.
Используя dir(Team)
, Я вижу другой сгенерированный названный атрибут teamplayer_set
(это также существует на Плеере).
t = Team.objects.get(pk=168)
for x in t.teamplayer_set.all():
if x.captain:
print "%s (Captain)" % (x.player.name)
else:
print x.player.name
Не уверенный, как я настроил бы, который генерировал related_name, но по крайней мере я знаю, что могу добраться до данных из шаблона, не добавляя дополнительные результаты запроса в контекст.