簡體   English   中英

get_object_or_404 與關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM