【发布时间】:2021-10-06 22:58:33
【问题描述】:
我有一个需要添加标准名称的表单,如果可以选择添加要添加的其他名称,我想为其创建另一个输入。我不确定如何针对模型执行此操作,以及迁移和创建与新名称相关的 html 以获取输入。
我用以下模型创建了表单:
ownerName1= models.CharField(max_length=100,null=True, blank=True, verbose_name='Owner Name 1')
ownerRole1= models.CharField(max_length=100,null=True, blank=True, verbose_name='Owner Role 1')
ownershipPercentage1= models.IntegerField(null=True, blank=True, verbose_name='Business Phone 1')
我在 HTML 模板中添加了一个按钮以添加新股东(如果可用),因此我希望单击该按钮以在 models.py 中创建以下内容
ownerName2= models.CharField(max_length=100,null=True, blank=True, verbose_name='Owner Name 2')
ownerRole2= models.CharField(max_length=100,null=True, blank=True, verbose_name='Owner Role 2')
ownershipPercentage2= models.IntegerField(null=True, blank=True, verbose_name='Business Phone 2')
如果再按一次,数字变为 3,依此类推。
后续在需要更新的形式:
class infoForm(ModelForm):
class Meta:
model = Info
fields = ['ownerName1','ownerRole1','ownershipPercentage1']
下面是表格的一个例子:
<div class="tab-pane fade" id="ownershipStructure" role="tabpanel" aria-labelledby="pills-3-tab">
<h2>Ownership Structure</h2>
<div class="form-outline mb-4">
<input type="text" name="ownerName1" id="ownerName1" class="form-control"
{% if form.is_bound %}value="{{ form.ownerName1.value }}"{% endif %}/>
<label class="form-label">Name of Owner(s)/Major Shareholders:</label>
{% for err in form.ownerName1.errors %}
<small class="text-danger ml-2">{{ err }}</small>
{% endfor %}
</div>
<div>
<div class="row mb-4">
<div class="col">
<div class="form-outline mb-4">
<input
type="text"
id="ownerRole1" name="ownerRole1" class="form-control" {% if form.is_bound %}value="{{ form.ownerRole1.value }}"{% endif %}/>
<label class="form-label">Role:</label>
{% for err in form.ownerRole1.errors %}
<small class="text-danger ml-2">{{ err }}</small>
{% endfor %}
</div>
</div>
<!-- Number input -->
<div class="col">
<div class="form-outline mb-4">
<input
type="number" id="ownershipPercentage1" class="form-control" name="ownershipPercentage1" {% if form.is_bound %}value="{{ form.ownershipPercentage1.value }}"{% endif %}/>
<label class="form-label" for="ownershipPercentage1" style="margin-left: 0px"
>Ownership Percentage</label>
{% for err in form.ownershipPercentage1.errors %}
<small class="text-danger ml-2">{{ err }}</small>
{% endfor %}
</div>
</div>
</div>
</div>
<button
type="button"
class="mb-4 btn btn-primary btn-sm ripple-surface"
>
Add Shareholders
</button>
</div>
我想知道在这种情况下我能做些什么我应该如何进行?
【问题讨论】:
标签: python html django django-models django-forms