假设以下模型类,
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/