【发布时间】:2011-09-13 21:12:27
【问题描述】:
有谁知道是否可以从 Django 的查询集中仅提取外键或一对一字段的模型实例?
假设我有两个类,一个 Post 和一个 MagicalPost,由 OneToOne 字段链接,如下所示:
class Post(models.Model):
...
class MagicalPost(models.Model):
post = models.OneToOneField('Post')
pony = models.TextField(max_length=100, help_text='This is where the MAGIC happens!')
我想对所有神奇的帖子进行查询,但我只想接收帖子对象。现在我正在遍历查询集以提取帖子:
magical_posts = MagicalPost.objects.all()
posts = []
for magical_post in magical_posts:
posts.append(magical_post.post)
return posts
更进一步,帖子由对一般 Post 对象进行操作的函数处理,因此我不想处理 magic_post.post 外推,也不需要魔法属性。
这并不“感觉”正确。我认为可能有更好的方法来提取外键,所以如果有人知道更好/更清洁的方法来做到这一点,我会全力以赴;否则我会保持这样的状态,因为 . . .出色地 。 . .它有效!
谢谢。
【问题讨论】: