Фильтр запросов Django, возвращает объект, если attr delete имеет значение false (то есть, если он не был удален) - PullRequest
0 голосов
/ 09 марта 2011

У меня есть следующее:

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.Я хочу, чтобы он добавлял самый последний телефон в список phones, только если deleted равно нулю.

1 Ответ

2 голосов
/ 09 марта 2011

Трудно сказать, что вы спрашиваете, но я думаю, что вы хотите что-то вроде этого:

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
...