Итак, у меня есть домашняя страница, на которой отображаются изображения. Это доступно из моих таблиц изображений. Он содержит столбец владельца, в виде идентификатора пользователя. У меня также есть таблица пользователей, которые отправили эти изображения. Как сделать так, чтобы при отображении изображений он использовал идентификатор, чтобы получить имя пользователя из таблицы пользователя?Django получить данные из двух таблиц, только связанные данные
views.py:
def index(request):
context = {}
populateContext(request, context)
context.update(gallery=ImageDoc.objects.only('thumbfile').order_by('-id'))
return render(request, 'register/index.html', context)
Так на странице index.html, я могу перебирать галерее '', чтобы показать изображения. Например:
{% for image in gallery %}
<a href="/logo/{{ image.slug }}">
<img src="{{ MEDIA_URL }}{{ image.largethumbfile }}">
{{ image.title }} by {{ image.username }} for {{ image.price }}
</a>
{% endfor %}
"image.username", очевидно, не работает. Я знаю, что нужно, чтобы получить доступ к таблице пользователей с этим:
get_users = User.objects.get()
И переформатировать захватывая данные изображения для этого:
get_images = ImageDoc.objects.get()
Но я не знаю, следующий шаг, чтобы обеспечить спички данных. Есть идеи? Спасибо!
doens't {{image.owner.username}} работать? – Aquiles
Пробовал, он не сработал. – Bob
Если ваша модель использует внешний ключ у владельца, вы должны иметь к нему доступ, но обычно я не использую маршрут обновления контекста, я предпочитаю использовать render_to_response и передавать мои запросы через это. И вы должны использовать имя внешнего ключа в {{images.owner}} – Aquiles