Django : get object from foreign key

标签 django model

假设以下模型类,

 class Bookmark(models.Model):   
     owner = models.ForeignKey(UserProfile,related_name='bookmarkOwner')
     parent = models.ForeignKey(UserProfile,related_name='bookmarkParent')
     sitter = models.ForeignKey(UserProfile,related_name='bookmarkSitter')


我怎样才能得到sitter来自 owner 的对象对象?
user = UserProfile.objects.get(pk=1)

UserProfile.objects.filter(bookmarkOwner=user)

返回空 tuple ,我不能指定 sitter多变的。

最佳答案

我相信你可以做这样的事情,如果你想避免使用循环:

pks = some_user_profile.bookmarkOwner.values_list('sitter', flat=True)
sitters = UserProfile.objects.filter(pk__in=pks).all()

或者,您可能想尝试设置多对多字段并使用 through范围。请参阅 Django 文档:https://docs.djangoproject.com/en/2.0/ref/models/fields/#manytomanyfield

关于Django : get object from foreign key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011255/

相关文章:

jquery - 我想在使用 Ember.Js 单击导航时查看内容

Python内存模型

django - 使用单独的 Dyno 作为 React 前端和 Django 后端时的 Cookie

celery任务和我的模​​型之间的Django导入循环

animation - Maya 到 Three.js 的动画

ruby-on-rails - rails : Validate Unique Pairs

django-mptt 过滤器而不破坏树

python - 如果页码超出范围,Django PageNumberPagination 自定义错误

python - 合并来自多个表单 Django 的数据

python - 使用 django 和 sqlite 的运行时问题 - 查询过多