Python Django查询筛选器,如果attr delete为false(即,如果它尚未被删除),则返回对象

Python Django查询筛选器,如果attr delete为false(即,如果它尚未被删除),则返回对象,python,django,django-queryset,Python,Django,Django Queryset,我有以下资料: PHONE_CHOICES = ( ('home', 'Home'), ('home2', 'Home 2'), ('mobi', 'Mobile'), ('mobi2', 'Mobile 2'), ('work', 'Work'), ('work2', 'Work 2'), ) phones = [] for k, v in PHONE_CHOICES: try: phones.append(Client

我有以下资料:

PHONE_CHOICES = (
    ('home', 'Home'),
    ('home2', 'Home 2'),
    ('mobi', 'Mobile'),
    ('mobi2', 'Mobile 2'),
    ('work', 'Work'),
    ('work2', 'Work 2'),
)

phones = []
for k, v in PHONE_CHOICES:
    try:
        phones.append(ClientPhone.objects.filter(client=clientKEY, phone_type=k).latest('id'))
    except ClientPhone.DoesNotExist:
        pass

我在
ClientPhone
中还有一个名为
deleted
的属性。如果
deleted
为空,我只希望它将最新的手机添加到
phones
列表中。

要知道你在问什么有点困难,但我想你想要这样的东西:

phones = []
for k, v in PHONE_CHOICES:
    try:
        current = ClientPhone.objects.filter(client=clientKEY, phone_type=k)
        if current.deleted is None:
            phones.append(current.latest('id'))
    except ClientPhone.DoesNotExist:
        pass

谢谢,这正是我想要的!Python有时可以帮助压缩PHP等语言中通常冗长的内容,我只是想知道这是否是其中之一