我认为这必须可以通过post来判断,但我似乎无法解决语法问题。我需要通过作者外键获取带有图片字段的博客对象。
这是否可以使用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)
答案 0 :(得分:0)
您想要的查询是这样的(来自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'的图片(以及你的作品,作者和他们的博客)。至少如果我理解你的问题和数据库结构,那就是。
答案 1 :(得分:0)
如Pureferret在his answer中所建议 您可以按照以下方式进行操作,
blog = Blog.objects.get(pk=blog_id)
author = blog.author
如果要在模板中显示该图像,请使用
{{ auther.picture.url }}