Python:循环遍历类?

use*_*189 3 python

如何将以下内容组合成python中的循环?

    try:
        [fb.delete() for fb in FacebookProfile.objects.filter(user_id=user.id)]
    except FacebookProfile.DoesNotExist:
        pass

    try:
        [fb.delete() for fb in FacebookUser.objects.filter(user_id=user.id)]
    except FacebookUser.DoesNotExist:
        pass

    try:
        [fb.delete() for fb in FacebookLike.objects.filter(user_id=user.id)]
    except FacebookLike.DoesNotExist:
        pass

    try:
        [fb.delete() for fb in FacebookInvite.objects.filter(user_id=user.id)]
    except FacebookInvite.DoesNotExist:
        pass
Run Code Online (Sandbox Code Playgroud)

我们可以看到它是相同的代码块,只是每个类名都在改变,所以我希望迭代一个类名数组,并通过生成的函数运行每一个语义与上面相同的语义.

phi*_*hag 5

for klass in [FacebookProfile, FacebookUser, FacebookLike, FacebookInvite]:
    try:
        for fb in klass.objects.filter(user_id=user.id):
            fb.delete()
    except klass.DoesNotExist:
        pass
Run Code Online (Sandbox Code Playgroud)