2011-12-12 3 views
0

거대한 300 필드 모델을 기반으로하는 ModelForm이 있습니다. 150 개의 필드가있는 하나의 모델이 다른 하나는 150 개의 필드를 상속합니다.왜이 장고는 영원히 렌더링을 렌더링합니까?

syncdb 또는 save()에 일부 문제가 발생할 것으로 예상했지만 제대로 작동합니다.

그러나이 모델 as_p() 방법을 기반으로하는 양식을 호출하면 영원히 걸릴 수 있습니다. 출력을 보지 않고 10 분을 기다릴 수 있습니다. 이 양식의 HTML 렌더링 방법과 동일합니다. 오류가없고 단지 쉘 또는 dev 서버에있는 곳의 Python이 거기에 매달려 있습니다.

Django의 포옹 양식에는 알려진 제한 사항이나 버그가 있습니까? 해결 방법이 있습니까?

문자열 연결 문제가 의심됩니다. 그 동안 Django 소스 코드를 파헤쳐 보겠다.하지만 아무도 내 하루를 절약 할 단서가 있다면. 당신은 많은 수의 행이있는 테이블에 외래 키가있는 경우

+0

:-)이 더 이상 신비를 생각하지를 모델에서 하나 또는 일부 필드 만 렌더링하면 어떤 일이 발생하는지 보았습니다. ('{{form.field_name}}') – second

+0

괜찮습니다. 그것은 하나의 필드, 특히 –

+0

이 계속 될 때까지 필드를 추가해야합니다. – second

답변

1

, 그것은 각각의 기본 위젯이 선택으로 각 행 (의 유니 코드)와 드롭 다운 (<select>)임을 기억 가치가있다. 이 종종 엄청난 수 있으며 옵션에서 찾고 가치 (같은 관리자의 raw_id_field)

+0

그건 내 두 번째 추측 이었지만 그렇지 않았습니다. 어쨌든 +1하십시오. –

1

내가 코드에서이 같은 발견 :

INCOME_CHOICES = tuple(zip(range(1, 1000000), range(1, 1000000))) 

models.IntegerField(choices=INCOME_CHOICES) 

내가 당신을

+0

숫자가 정확하지 않은 경우 tuple (zip (range, 1, 1000000, 100), range (1, 1000000, 100))) 또는 floppyforms에서 html5 범위 위젯을 사용하십시오. – mtnpaul

+0

나는 이것을 단순한 char 필드로 바꾸겠다. –