我有模特
tipo_pago(models.Model)类:
descripcion = models.CharField(max_length=20)
banco_req = models.BooleanField(default=False, verbose_name="Requiere banco", help_text="Activa esta casilla si se requiere el banco de origen")
status = models.BooleanField(default=True)
和
class cliente_pago(models.Model):
tEstado = (
('pagado','Pagado'),
('pendiente','Pendiente'),
('cancelado','Cancelado'),
)
cliente = models.ForeignKey('cliente',blank=False,null=True,on_delete=models.SET_NULL)
fecha = models.DateTimeField(default=timezone.now)
fecha_pago = models.DateField()
tipo_pago = models.ForeignKey('tipo_pago',blank=False,null=True,on_delete=models.SET_NULL)
banco = models.ForeignKey('banco', blank=True, null=True,on_delete=models.SET_NULL)
referencia = models.CharField(max_length=25)
cuenta = models.ForeignKey('cuenta',blank=False,null=True,on_delete=models.SET_NULL)
importe = models.FloatField(default=0)
pago = models.FloatField(default=0)
saldo = models.FloatField(default=0)
observacion = models.TextField(blank=True,null=True)
estado = models.CharField(max_length=10,default='pendiente',choices=tEstado)
我要填写文件的表格是下一个:
class cliente_pagoModal(CustomModelForm):
class Meta:
model = cliente_pago
exclude = ('fecha','pago','saldo','estado',)
我要在cliente_pago表单中的字段“ tipo_pago”中添加数据参数
现在看起来像这样:
<选择name =“ tipo_pago” class =“ form-control” required =“” id =“ id_tipo_pago”>
但是我希望它看起来像这样
<选择name =“ tipo_pago” class =“ form-control” required =“” id =“ id_tipo_pago”>
<选项value =“ 3” data-banco_req =“ 0”> Efectivo
<选项value =“ 2” data-banco_req =“ 1”>支票
<选项value =“ 1” data-banco_req =“ 2”> Transferencia bancar
我正在使用python 3.7和Django 2.0.8
答案 0 :(得分:0)
如果data-banco_req
的值是循环计数,则可以在模板中构建select
元素并遍历选择:
{% with field=form.tipo_pago %}
<label for="{{ field.auto_id }}">{{ field.label }}</label>
<select name="{{ field.html_name }}" class="form-control" required="" id="{{ field.id_for_label }}">
<option value="" selected="">---------</option>
{% for choice in field %}
<option value="{{ choice.data.value }}" data-banco_req="{{ forloop.counter0 }}">{{ choice.choice_label }}</option>
{% endfor %}
</select>
{% endwith %}