gpt4 book ai didi

django - 在 ModelForm (Django) 中创建动态字段

转载 作者:行者123 更新时间:2023-12-04 09:21:15 30 4
gpt4 key购买 nike

如何随时随地在 ModelForm 中创建字段?

例如,我想创建 3 个文本框 (because there are 3 entries in the database table)

 ID  Name   Value 
------------------
1 Alpha 10
2 Beta 91
3 Char 800

我如何以这种方式向用户显示它?是否涉及 _init 定义?是否可以在模型表单类中执行对象的 for 循环来检索其值并将它们转换为要显示的字段?感谢任何建议。
Alpha [textbox]______Beta[textbox]____etc..[Submit]

Here is what I tried to do in the def init of the modelform:

self.fields['myfield'].widget = forms.Textarea()

似乎无法给我输出,请注意我对某些 Django 概念的理解薄弱。

最佳答案

在这种情况下,我认为您最好的选择是坚持 Model formsets .
对于任何其他情况,您只需将新字段附加到 fields属性,在表单的 __init__ 内.

def __init__(self, *args, *kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields.update({
'foo': forms.CharField(widget=forms.Textarea()),
'bar': forms.CharField(widget=forms.Textarea()),
})

请记住,在这种情况下,您必须调用 parent 的 __init__首先,您将拥有 .fields可用的。

关于django - 在 ModelForm (Django) 中创建动态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012723/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com