Closed vprsnc closed 2 years ago
Привет, А ты с какой сущностью используешь (Lead, Contact, Events. ..) ? Может там баг в одной из них ))
в общем и целом выглядит это так
In [4]: next(Lead.objects.filter(query="test"))
Out[4]: Lead(account_id = 12097842, closest_task_at = None, contacts = <amocrm.v2.fields._ListData object at 0x7f0cf94412b0>, created_at = 2019-05-26 06:03:00, group_id = 0, id = 30093183, is_deleted = False, loss_reason = [], loss_reason_id = None, name = Заявка с сайта (заказ), None = <class 'amocrm.v2.entity.note.NotesField.on_get_instance.<locals>.Note'>, price = 0, score = None, updated_at = 2019-05-27 07:59:18)
In [5]: next(Lead.objects.filter(query=30093183))
Out[5]: Lead(account_id = 12097842, closest_task_at = None, contacts = <amocrm.v2.fields._ListData object at 0x7f0cf8e48df0>, created_at = 2019-05-26 06:03:00, group_id = 0, id = 30093183, is_deleted = False, loss_reason = [], loss_reason_id = None, name = Заявка с сайта (заказ), None = <class 'amocrm.v2.entity.note.NotesField.on_get_instance.<locals>.Note'>, price = 0, score = None, updated_at = 2019-05-27 07:59:18)
или вот тут тоже пример https://github.com/Krukov/amocrm_api/issues/50#issuecomment-990813412
Lead.objects.filter(query="test") - возвращает генератор
Я пробовал фильтровать по Lead, не додумался, что нужно делать так же как при Lead.objects.get т.е. через query; Я пробовал вставлять аргументы вида Lead.objects.filter({"updated_at": "2021-08-13"}). Окей с query понятно, спасибо большое :) А есть ли возможность по конкретному полю какому-то фильтровать? Вот хотя по тому же "updated_at"...
по идеи надо попробовать вот так
from amocrm.v2 import filters, Lead
updated_at = int(time.mktime(datetime.date(2021, 11, 1).timetuple()))
last_leads = Lead.objects.filter(
filters=[filters.SingleFilter("updated_at")(updated_at)]
)
Не сработало к сожалению( Может чего не так делаю? С родным классом Lead тоже пробовал - то же самое
Посмотрел в документацию амо - по таким полям как updated_at нельзя искать точное совпадение - толкьо за промежуток
list(Lead.objects.filter(filters=[filters.DateRangeFilter("updated_at")(now-timedelta(days=1), now)]))
Отлично! Все сработало, спасибо большое, что помогли разобраться :)
Фильтр по датам не работает если поле кастомное
Фильтр по датам не работает если поле кастомное
Не понятно, как использовать фильтры, какие бы параметры я не вводил (в виде словарей, просто аргументов итд) выдает TypeError: GenericInteraction.get_all() got multiple values for argument 'include' Можно какой-то пример, как этими фильтрами можно пользоваться? Спасибо заранее