모두가 나에게주고는 :TimeField 및 DurationField INT 오류
return int(round(value.total_seconds() * 1000000))
AttributeError: 'int' object has no attribute 'total_seconds'
나는 그러나 단지이 사이트에서이 오류를 보았다 장고 1.8. 현재 장고 1.10을 사용하고 있습니다. 나는이 suggesions을 시도 : Prakhar Trivedi의 질문에 주소
class SomeModel(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
lunchnumber = models.IntegerField(null=True, blank=True)
role = models.PositiveSmallIntegerField(choices=ROLE_CHOICES,null=True, blank=True)
breaktime = models.DurationField(default=timedelta(minutes=45))
def to_python(self, value):
if value is None:
return value
if isinstance(value, datetime.timedelta):
return value
try:
parsed = parse_duration(value)
except ValueError:
pass
else:
if parsed is not None:
return parsed
:
DurationField(default=timedelta()),
DurationField(),
DurationField(default=timedelta()),
DurationField(default=int(timedelta(minutes=20).total_seconds())).
내 모델은 현재처럼 보이는 내가 잘 작동하지 않습니다 어떤 값을 모른다. 나는 그것이 장고가 데이터베이스 테이블을 채우려 고 시도하는 기본 값이라고 가정했다. 나는 get_db_prep_value에 ....... 때문에 의 인상 (원형 (value.total_seconds() * 1000000)) AttributeError를 반환 INT입니다 : 'INT'개체가 어떤 속성 'total_seconds'
이 주소가 없습니다 iklinac의 답변 :
나는 기본값 = timedelta (분 = 45)를 추가했습니다. 나는 그것을 datetime에서 수입 해달라고한다 그러나 나는 나가 무언가를 놓치고 있다는 것을 느낀다. 나는 이것에 아주 새롭다 to_python 기능을 보지 않았다. 나는 무엇이 없는가 나는 아직도 동일한 과실을 얻고 있는가? 당신이 경우
** value value는 total_seconds() **에 ** value **입니다. UR 모델의 가치는 어느 분야입니까 ?? –
우 @PrakharTrivedi 그게 내가 물어 봐야했던 것, 내가 다른 것 묻는 것 같아 :) – e4c5
안녕하세요 트래비스는 models.py에서 아래 명시된 방식으로 가져온 timedelta를 확인 했습니까? Duration 필드 뒤의 함수 인 to_python 함수에 대해서도이를 포함 할 필요가 없습니다. 마지막 부분에 대해서도 datetime이 여전히 문제가 있다면 django 시간 형식을 parse_value의 주석 섹션에 사용하십시오 – iklinac