Django Извлечение данных из базы данных на основе объединения с использованием ORM - PullRequest
0 голосов
/ 04 июля 2019

Я хочу присоединиться к двум моделям, как показано ниже, и соединение должно быть Harsha к банку (не Bank к Harsha)

model.py

class Harsha(models.Model):

    name = models.CharField(max_length=255)
    email = models.CharField(max_length=255)


class Bank(models.Model):

    user = models.ForeignKey(Harsha, on_delete=models.CASCADE)
    accountnumber = models.BigIntegerField()
    ifsc = models.CharField(max_length=255)
    branch = models.CharField(max_length=255)
    bank = models.CharField(max_length=255)

views.py

test = Harsha.objects.all()
test1 = Bank.objects.all() # its working for me but i want join from Harsha table

в шаблонах

# I want this
{% for tes in test %}
    {{ tes.name }}
    {{ tes.email }}
    {{ tes.bank.accountnumber }}  # how can I get this field
    {{ tes.bank.ifsc }}  # how can I get this field
{% endfor %}

# its working
{% for tes in test1 %}
    {{ tes.user.name }}
    {{ tes.user.email }}
    {{ tes.accountnumber }}
    {{ tes.ifsc }}
{% endfor %}

1 Ответ

1 голос
/ 04 июля 2019

Вы можете получить это так (используя reverse relationship):

{% for tes in test %}
    {{ tes.name }}
    {{ tes.email }}
    <b>{% for bank in tes.bank_set.all %}</b>
    {{ bank.accountnumber }}  
    {{ bank.ifsc }}  
    <b>{% endfor %}</b>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...