Разница между default и default_factory при объявлении полей в Pydantic заключается в том, как они устанавливают значение по умолчанию. 12
default устанавливает фиксированное значение по умолчанию для поля. 12
default_factory используется, когда нужно динамически генерировать значение по умолчанию. 13 Для этого параметр принимает функцию, которая возвращает значение по умолчанию. 1
Пример использования default: поле id будет иметь значение по умолчанию 1. 1
Пример использования default_factory: каждое поле id будет автоматически получать уникальный идентификатор при создании нового объекта модели Item. 1
При этом запрещено устанавливать одновременно и default, и default_factory. 2