Django: выборка родительских данных с использованием внешнего ключа childs - PullRequest
1 голос
/ 10 ноября 2019

У меня проблемы с получением родительских данных с использованием child.

models.py

class Company_Data(models.Model):
    company_name = models.CharField(max_length=254)
    company_address =  models.CharField(max_length=254)
    company_tel_no =  models.CharField(max_length=254)
    company_fax_no = models.CharField(max_length=254)


class Requirements(models.Model):
    req_service         = models.CharField(null=False, max_length=254)
    req_coverdate_from  = models.DateField()
    req_coverdate_to    = models.DateField()
    req_duedates        = models.DateField()
    company             = models.ForeignKey(Company_Data, on_delete=models.CASCADE)

views.py

def business_setup(request):

    req = Requirements.objects.filter(req_service = 'Business Setup')

    context = {
        'req' : req ,
    }
    return render(request, 'admin_template/content/admin_businesssetup_req.html', context)

Шаблон HTML

{% for requirements in req %}
<table>
                    <tbody>

                      <tr>
                      <th style="width:50%">Company Name</th>
                      <td>{{ requirements.company_id.company_name }}</td>
                      </tr>

                      <tr>
                      <th> Covered Date From </th>
                      <td>{{ requirements.req_coverdate_from }}</td>
                      </tr>
                      <tr>
                      <th> Covered Date To </th>
                      <td>{{ requirements.req_coverdate_to }}</td>
                      </tr>
                      <tr>
                      <th> Due Date </th>
                      <td>{{ requirements.req_duedates }}</td>
                      </tr>
                    </tbody>
                  </table>

{% endfor %} 

Я пытался requirements.company_id.company_name отобразить название соответствующей компании, но не повезло. я обнаружил, что запросил Родителя Company_Date, чтобы отобразить Дитя Requirements. но я хочу отфильтровать таблицу Requirements и отобразить ее родительскую, так что они не будут применимы для меня.

Спасибо ..

Ответы [ 2 ]

1 голос
/ 10 ноября 2019
You just have to write "company" instead of "company_id" in your template

<td>{{ requirements.company.company_name }}</td>
1 голос
/ 10 ноября 2019

Просто используйте это

<td>{{ requirements.company__name }}</td>

Более подробно вы можете посетить страницу документации django по этой ссылке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...