嗨#1人,Django的:動態模式字段定義
我有一個模型定義這是相當單調,它包括箱從1到50
領域對於概念的證明,我寫的但是必須有一個更好的方式來自動化模型定義並保持代碼的整潔。
到目前爲止,我做了後續的方式:
class Bins(models.Model):
p1 = models.DecimalField(_('bin 1'), max_digits=6, decimal_places=2)
p2 = models.DecimalField(_('bin 2'), max_digits=6, decimal_places=2)
p3 = models.DecimalField(_('bin 3'), max_digits=6, decimal_places=2)
...
p50 = ...
在Django wiki,我發現動態模型定義的總結,但它似乎它不允許在定義循環:
我試過下面的代碼,但是我得到一個錯誤消息,MAX_BIN = 2是一個無效的語法。 我明白我不能像我試過的那樣在字段上迭代的錯誤。
Bins = type('Bins', (models.Model,), {
MAX_BIN = 50
for i in range(MAX_BIN):
name_sects = ["p", str(i)]
"".join(name_sects): model.DecimalField(_("".join([bin ', str(i)])),
max_digits=6, decimal_places=2)
})
這樣的動態類定義一般可能嗎? 如果是這樣,定義類的最佳方法是什麼?
謝謝你的幫助!
什麼只是創造一個具有#和點回'Bins'模型的新'Bin'模式? – sdolan
這個模塊很適合動態模型http://pypi.python.org/pypi/django-dynamo – Paulo