2016-08-11 3 views
0

Как я могу проверить given string is a timezone instance, скажу, что у меня есть значение аргумента, а именно «дата» в методе, я хочу проверить его как экземпляр часового пояса или экземпляр, относящийся к часовому поясу, прежде чем вернуть его, i имеет TrID следующего, но он не смогКак проверить заданную строку - экземпляр временной зоны

def get_date(date=None): 
    if not isinstance(date, timezone): 
     raise ValidationError('please provide timezone aware date type value') 

он показывает ошибку,

TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types 

как можно проверить значение строки, как часовой пояс известна дата, например?

ответ

1

Вы можете использовать is_aware или is_naive

from django.utils.timezone import is_aware 
if not is_aware(date): 
    raise ValidationError('please provide timezone aware date type value') 
+0

предположит, мой 'date' поле является необязательным, то, что я Шоуд установить в качестве значения по умолчанию? Потому что, если я установить' дату = None' то он не будет работать. – RTan

+0

Почему бы не проверить значение на «Нет»? 'if date и is_naive (date): raise ValidationError()' –

Смежные вопросы