[英]get_object_or_404 with relationship
我想從這篇文章來看這一定是可能的,但我似乎無法弄清楚語法。 我需要通過作者外鍵獲取帶有圖片字段的博客對象。
get_object_or_404 是否可以實現,如果可以,如何實現?
#models.py
class Blog(models.Model):
author = models.ForeignKey(MyUser)
#author
class MyUser(AbstractUser):
picture = models.ImageField()
blog = get_object_or_404(Blog, pk=blog_id)
你想要的查詢是這樣的(來自docs ):
from django.db import models
class City(models.Model):
# ...
pass
class Person(models.Model):
# ...
hometown = models.ForeignKey(City)
class Book(models.Model):
# ...
author = models.ForeignKey(Person)
然后你的查詢是:
b = Book.objects.select_related('author__hometown').get(id=4)
p = b.author # Doesn't hit the database.
c = p.hometown # Doesn't hit the database.
b = Book.objects.get(id=4) # No select_related() in this example.
p = b.author # Hits the database.
c = p.hometown # Hits the database.
除了您的情況,您的查詢將是: Picture.objects.select_related('author__blog').get(picture_name='somefilename.jpg')
您是說我想要與圖片名稱“somefilename.jpg”相關的圖片(以及您的圖片,作者和他們的博客)。 至少如果我理解你的問題和數據庫結構的話。
正如 Pureferret 在他的回答中建議的那樣,您可以通過以下方式進行操作,
blog = Blog.objects.get(pk=blog_id)
author = blog.author
如果您想在模板中顯示該圖像,只需使用
{{ auther.picture.url }}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.