В Django, как Вы получаете данные из дополнительных полей на many-many отношениях без явного запроса для него?

Этот ответ является ответом на проблему, но не решением вопроса. Если вы не можете объявить переменную внутри скобок в реакции (как вы могли бы сделать, например, в 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
задан iammichael 29 January 2009 в 20:38
поделиться

1 ответ

Так, спустя 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, но по крайней мере я знаю, что могу добраться до данных из шаблона, не добавляя дополнительные результаты запроса в контекст.

9
ответ дан 1 December 2019 в 05:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: