django как получить список с внешним ключом, используя первичный ключ - PullRequest
0 голосов
/ 15 марта 2020

У меня есть такой сценарий, когда у каждой компании есть более одного автомобиля, я связал две модели:

models.py

    class Company(models.Model):
    company_name = models.CharField(max_length=100, primary_key=True, null=False)
    created_at = models.DateTimeField(auto_created=True, null=True)

    def __str__(self):
        return self.company_name

class car(models.Model):
    company = models.ForeignKey(Company, null=True, related_name='companyname', on_delete=models.CASCADE)
    car_reg = models.CharField(max_length=8, null=True)
    mot6due = models.CharField(max_length=100, null=True)
    cut_off = models.CharField(max_length=10, null=True)
    notes = models.TextField(null=True)
    updated_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.car_reg

Теперь у меня есть список компаний, перечисленных, но Теперь необходимо получить доступ к каждой компании, чтобы перечислить отдельные автомобили, принадлежащие каждой компании

views.py

def dashboard(request):
cars = car.objects.all()
total_cars = cars.count()

context = {'cars': cars, 'total_cars': total_cars}

return render(request, 'cars/dashboard.html', context)


def companyList(requst):
    company_list = Company.objects.all()

    context = {'company_list': company_list}

    return render(requst, 'cars/company_list.html', context)

и шаблон. html

<tbody>
    {% for company in company_list %}

          <tr>
   <td><a href="{% url 'company-list' ?what here? %}"> {{ company.company_name }}</a></td>

          </tr>

    {% endfor %}
      </tbody>

1 Ответ

2 голосов
/ 15 марта 2020
{% for company in company_list %}

          <tr>
   <td><a href="{% url 'company-list' ?what here? %}"> {{ company.company_name }}</a></td>

          </tr>
{% for item in  company.car_set.all %}


{% endfor %}{% endfor %}

обратите внимание, имя класса начинается с заглавной буквы, вместо использования автомобиля. Автомобиль

в данный момент я получаю этот список:

enter image description here

и хотите нажать на одну из компаний, чтобы перечислить все детали автомобилей для каждой компании, но не знаете, как передать муравейный ключ

<td><a href="{% url 'company-list' ?what here? %}"> {{ company.company_name }}</a></td>
...