내 장고 모델에서 다음 필드가 있습니다입력 한 숫자가 DecimalField max_digits를 초과하면 왜 django pgm이 중단됩니까?
price = models.DecimalField(max_digits=8, decimal_places=2, default=0)
및 내 양식에 다음 코드 :
는price = forms.DecimalField(widget=forms.NumberInput(attrs={'step': '0.01', 'text-align': 'right;'}))
(BTW, 텍스트 정렬이 작동하지 않습니다 - 다른 문제, I 생각)
양식으로 표시 될 때 작동합니다. 내가 같이, 너무 많은 숫자를 입력하면, 그러나
: 나는 2 개 이상의 소수 자릿수를 사용하려고하면 사실, 형태는 메시지를 팝업
장고는 다음과 같은 오류가 발생합니다 :
InvalidOperation at /balancer/set_security_prices/2017-10-14 []
Request Method: POST Request
URL: http://localhost:8000/balancer/set_security_prices/2017-10-14
Django Version: 1.9.1 Exception Type: InvalidOperation Exception
Value: [] Exception
Location: /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/db/backends/utils.py in format_number, line 200 Python Executable: /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 Python Version: 3.5.1
is_valid() 확인을 나는 데이터를 저장하는 함정에게 문제가되지 않습니다 전에 않습니다. 이것은 나에게 이해가되지 않는다. 장고가 이것을 막지 않아야하는데, 아니면 try ...except
코드를 추가해야합니까?
감사합니다.
작품! max에 대한 구문은 'max': '999999'이지만 Django가 너무 많은 자릿수 오류를 생성하지만 너무 많은 자릿수 오류를 생성하지 않은 이유는 아직 확실하지 않습니다. 그것이해야하는 것처럼 보입니다. 도와 주셔서 감사합니다! – Ben
잠깐, 아마도 '단계'가 많은 소수 자릿수 오류를 던지고 있습니다. 좋아, 내가 이제 좋아 보인다. 감사! – Ben
기꺼이 도와 드리겠습니다. –