Как получить значение поля родительской таблицы с помощью объекта queryset в шаблоне django

У меня есть следующие модели -

Родительская таблица -

class RoomCategory(models.Model):
    trust = models.ForeignKey(Trust, on_delete=models.CASCADE, blank=True, null=True)
    *category = models.CharField(max_length=50,db_index=True)*
    rate = models.FloatField()
    description = models.CharField(max_length=500, blank=True, null=True)
    num_guests = models.IntegerField(blank=True, null=True)
    num_bedrooms = models.IntegerField(blank=True, null=True)
    num_beds = models.IntegerField(blank=True, null=True)
    num_toilets = models.IntegerField(blank=True, null=True)

дочерняя таблица1, имеющая вышеуказанные картинки категорий комнат, как показано ниже

class RoomCategoryAttribute(models.Model):
    trust = models.ForeignKey(Trust, on_delete=models.CASCADE, blank=True, null=True)
    category = models.ForeignKey(RoomCategory, on_delete=models.CASCADE, blank=True, null=True)
    *image=models.ImageField(upload_to="room_cat_imgs/",null=True)*

дочерняя таблица2, имеющая данные бронирования

class Booking(models.Model):
    trust = models.ForeignKey(Trust, on_delete=models.CASCADE, db_index=True,blank=True, null=True)
    *category = models.ForeignKey(RoomCategory, on_delete=models.CASCADE, blank=True, null=True)*
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    room = models.ForeignKey(Room, on_delete=models.CASCADE)
    check_in = models.DateTimeField(db_index=True)
    check_out = models.DateTimeField(db_index=True)
    phone_no = models.IntegerField(blank=True, null=True, db_index=True)
    num_days = models.IntegerField(blank=True, null=True)    
    total_cost = models.IntegerField(blank=True, null=True)
    when_booked = models.DateTimeField(blank=True, null=True, db_index=True)

У меня есть следующий набор запросов в моем файле views.py -

booking = Booking.objects.all()

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

{% для booking в booking_list %}

Теперь вопрос - в карточках - как мне показать первое изображение из дочерней таблицы1, т.е. RoomCategoryAttribute, которая имеет несколько строк с несколькими изображениями для каждой RoomCategory - как я думаю, есть какой-то способ использовать ***_set.first.image, и я пробовал несколько способов, но ничего не работает -

<div class="card-img-top overflow-hidden"><a href="user-booking-detail.html"><img class="img-fluid" src="/media/{{booking.category.category.roomcategoryattribute_set.first.image}}" alt="Modern, Well-Appointed Room"/></a></div> 

Спасибо, Джимми, Как вы предложили, я отладил с помощью команды print cmd, которую вы дали, и обнаружил, что эта колонка не должна быть пустой, а также в шаблоне тег такой же, за исключением части url ....

Вернуться на верх