检查对象是否是queryset结果的外键

时间:2012-02-13 03:18:07

标签: python django

我有一组对象存储在一个名为subs的变量中。列subscribed_to是外来对象。

有没有办法以更简单的方式检查一个related_object是否在此列表中:

def check_subscription_status(user, related_object):
    subs = get_user_subscriptions(user) # returns filter queryset
    subscribed = False
    for s in subs:
        if s.subscribed_to == related_object: #related object is the potential match
            subscribed = True
            break
    return subscribed

1 个答案:

答案 0 :(得分:0)

return (related_object in [s.subscribed_to for s in subs])

ETA:更好的方式:

return subs.filter(subscribed_to=related_object).count() > 0