Шаблон простых моделей Доступ по внешнему ключу?Что я упустил? - PullRequest
0 голосов
/ 09 февраля 2019

Я тестирую различные виды и модели в Django 2.1.5.

Я сделал две простые модели и простую функцию просмотра для доступа к альбомам по исполнителю в моем шаблоне.Пока я вижу только фамилии моих художников.

Я пытался получить доступ к модели альбома через {% для альбома в object_list.album_set.all%} , но, похоже, ничего не происходитя что-то скучаюЯ искал в Интернете, чтобы помочь себе, но большинство уроков показывают только примеры django в оболочке pyhton.Кто-то также упомянул, что должен дать Модель с FKey related_name, поэтому я назвал ее в честь поля данных.

приветствуется каждый намек, спасибо

models.py

class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
person_pic = models.ImageField(upload_to='artist/', max_length=255, null=True, blank=True )

def __str__(self):
    return "{} - {}".format(self.car[:25], self.color[:25])

class Album(models.Model):
    albumname = models.CharField(max_length=255)
    artistkey = models.ForeignKey(Person, on_delete=models.CASCADE, null=True, related_name="albumname")

 def __str__(self):
        return self.albumname

views.py

def artist_page(request):
object_list = Person.objects.all()
context = {'object_list': object_list}
return render(request, 'aquaman/aquaforkey.html', context)

aquaforkey.html

{% block content %}

<h1>HELLO</h1>

  {% for artist in object_list %}
     <h1> {{ artist.last_name }}</h1>
       {% for album in object_list.album_set.all %}
      {{ album.albumname }}
    {% endfor %}
  {% endfor %}
{% endblock %}

1 Ответ

0 голосов
/ 09 февраля 2019

Здесь есть несколько проблем.Элемент artist, а не object_list.И вы установили для related_name значение albumname.

{% for album in artist.albumname.all %}

(Кстати, посты, в которых говорилось, что вам нужно изменить related_name, были неправильными . Измените его, только если у вас естьочень веская причина.)

...