0
# 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() }

我想显示一个显示ab字段的表单TextInput以及如何做?

上面的forms.py代码显示d为名称而不是其字段..

4

1 回答 1

2

看来您正在寻找内联表单集

内联表单集是模型表单集之上的一个小型抽象层。这些简化了通过外键处理相关对象的情况。假设你有这两个模型......

对于您的模型:

from django.forms.models import inlineformset_factory
ModelBFormSet = inlineformset_factory(ModelB, ModelA)
BInstance = ModelB.objects.get(a=u'some value')
formset = ModelBFormSet(instance=BInstance)

阅读“在视图中使用内联表单集”以了解如何使用工厂。

于 2013-04-14T19:03:21.463 回答