В этом случае вы хотели бы использовать isinstance
if isinstance(v, (datetime, datetime.date, datetime.datetime, datetime.time)):
Короче говоря, причина в том, что type(v)
является более ограничительным и не может использовать подклассы, так какчто DataTime я думаю, что это.
Для подробного обзора type vs isinstance
перейдите к этот вопрос .
Также, обратите внимание, что ваштип <type 'DateTime'>
, а не datetime.datetime
.Вам нужно импортировать этот класс DateTime
и использовать его.Например:
from x.y.z import DateTime
if type(v) in (..., DateTime, ...):
....