2011-12-12 74 views
0

我有一個基於巨大的300字段模型的ModelForm。實際上一個模型有150個字段從另一個繼承,另外150個字段繼承。這個Django爲什麼會呈現永久呈現?

我期待這個模型在syncdbsave()上引起一些問題,但它工作正常。

但是,根據這個模型as_p()方法調用表單只是永遠。我可以等10分鐘而沒有看到任何輸出。此表單的任何HTML呈現方法都相同。沒有錯誤,只要python掛在那裏,無論我在shell或在dev服務器。

是否有任何已知的限制或bug在Django中的形式?有沒有解決方法?

我懷疑字符串連接的一些問題。與此同時,我將在Django源代碼中進行挖掘,但是如果有人得到了一些能夠節省我一天的線索。

+0

有你試着只是渲染模型中的一個或幾個字段來看看會發生什麼? ('{{form.field_name}}') – second

+0

這工作正常。它必須是專門的一個字段 –

+0

不斷添加字段,直到它打破... – second

回答

1

,如果你有外鍵的表有大量的行,這是值得記住的是,每一個默認控件是一個下拉(<select>),每排(的的unicode)作爲一個選擇。這些經常得到巨大的,這是值得期待的選項(如管理員的raw_id_field

+0

這是我第二次猜測,但那不是。無論如何。 –

1

我發現的代碼是這樣的:

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

models.IntegerField(choices=INCOME_CHOICES) 

我想有沒有更多的神祕感:-)

+0

除非數字必須精確地爲什麼不是元組(zip(range(1,1000000,100),range(1,1000000,100)))或者使用軟盤中的html5範圍小部件。 – mtnpaul

+0

我會把它變成一個簡單的字符字段,沒有乞討。 –