# models.py
class modelA(models.Model):
a = models.CharField()
b = models.CharField()
class ModelB(models.Model):
c = models.CharField()
d = models.ForeignKey(modelA)
# forms.py
class myForm (ModelForm):
class Meta:
model = ModelB
fields = ('d')
widgets = { 'd' : TextInput() }
我想显示一个将a
和b
字段显示为TextInput
的表单以及如何操作?
以上forms.py
代码显示d
作为名称,但不显示其字段..
答案 0 :(得分:2)
您似乎在寻找inline formsets:
内联表单集是模型表单集之上的一个小抽象层。 这些简化了通过外部处理相关对象的情况 键。假设你有这两个模型......
对于您的模特:
from django.forms.models import inlineformset_factory
ModelBFormSet = inlineformset_factory(ModelB, ModelA)
BInstance = ModelB.objects.get(a=u'some value')
formset = ModelBFormSet(instance=BInstance)
阅读“Using an inline formset in a view”以了解如何使用工厂。