ManyToMany过滤器的可读性或效率

时间:2012-09-18 18:46:54

标签: django

要检查某些东西是否是一个多元化的成员,我有两个选择:

if something.members.filter(username = user.username).count() > 0:

if user in something.members.all():

第二个对我来说更具可读性,但第一个看起来效率更高。我应该做哪一个?

2 个答案:

答案 0 :(得分:2)

我宁愿这样做:

something.members.filter(username=user.username).exists()
如果你的模特允许,那么

甚至更喜欢(更快):

something.members.filter(user=user).exists()

答案 1 :(得分:0)

执行更多 pythonic

if something.members.filter(username = user.username):