template instalar examples estilos con bootstrap django django-models django-templates django-views

examples - instalar bootstrap con django



¿Cómo acceder a las propiedades de otra tabla en una relación de uno a muchos usando el lenguaje de plantillas django? (1)

Creo que no es una buena idea consultar todas las offerphotos ofrecidas por la offer y obtener la primera en una plantilla.

En su lugar, puede definir una propiedad en su clase Offers , soy capaz de obtener la primera photo .

Debería ser algo como esto:

Models.py

class Offers(models.Model): province = models.CharField() district = models.CharField() location = models.CharField() def first_offerphoto(self): return self.offerphotos_set.first()

Modelo

{% for offer in latest_offers %} <img src="http://something.com/{{offer.id}}/{{offer.first_offerphoto.id}}.jpg"> {% endfor %}

Aunque todavía puedes usar las lógicas en tu template :

<img src="http://something.com/{{offer.id}}/{{offer.offerphotos_set.first.id}}.jpg">

Pero prefiero hacer todas las queries antes de mostrar la información en las templates

Me gustaría usar propiedades de diferentes tablas conectadas con la relación de uno a muchos en img src codificado en la plantilla.

Models.py:

class Offers(models.Model): province = models.CharField() district = models.CharField() location = models.CharField() class OffersPhotos(models.Model): offers_id = models.ForeignKey(''Offers'') order = models.IntegerField()

Views.py:

def index(request): latest_offers = Offers.objects.order_by(''-creation_date'')[:5] context_dict = {''latest_offers'': latest_offers} return render(request, ''something.html'', context_dict)

Modelo:

{% for offer in latest_offers %} <img src="http://something.com/{{offer.id}}/{{offer.offersphotos.id}}.jpg"> {% endfor %}

{{offer.id}} funciona a la perfección, pero ¿cómo puedo acceder a la identificación de la foto que tiene order = 1 en la misma línea?