【发布时间】:2014-09-23 18:25:48
【问题描述】:
我是 django 新手,我有一些问题。
我有一个用 django-tables2 渲染的 html 表,这个表是基于一个模型的: 表格.py
class MasterTable(tables.Table):
class Meta:
model = Master
我有一个 JS 脚本可以在第一列插入一个下拉按钮:
<script language="javascript">
function GetAllValues() {
var tbl = document.getElementById("myTable");
for (var i = 0; i < tbl.rows.length; i++){
for (var i = 1; i < tbl.rows.length; i++){
tbl.rows[i].cells[0].innerHTML = '<div class="btn-group">\
<button type="button" class="btn btn-xs btn-primary dropdown-toggle" data-toggle="dropdown">'
+ tbl.rows[i].cells[0].innerHTML +
'<span class="caret"></span>\
</button>\
<ul class="dropdown-menu" role="menu">\
<li><a data-toggle="modal" data-target="#" >Configura</a>\
</li>\
<li><a data-toggle="modal" data-target="#">Cambiar estado</a>\
</li>\
<li><a data-toggle="modal" data-target="#">Ver estadíicas</a>\
</li>\
<li class="divider"></li>\
<li><a data-toggle="modal" data-target"#">Reproceso</a>\
</li>\
</ul>\
</div>'
}
}
</script>
在我的 models.py 中有这个
class Provider(models.Model):
id_provider = models.IntegerField(blank=True, null=True, primary_key=True)
name = models.CharField(max_length=50, blank=True)
class Meta:
managed = False
db_table = 'mpc_proveedores'
def __unicode__(self):
return self.name
class Master(models.Model):
id_provider = Models.ForeignKey(Provider,
db_column='id_provider',
primary_key=True,
verbose_name='Provider')
year = models.IntegerField(blank=True, null=True)
month = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'mpc_master'
我在html表格中渲染的表格是模型Master。 当我在 html 表中呈现主模型时,向我显示提供程序名称而不是 id_provider,这很好,但是当我单击 html 表的第一列时,我需要获取 id_provider 的值,而不是名称提供者。
如何获取 id_provider 的值而不是提供者名称,然后将 id_provider 作为参数传递给另一个页面(表单)。
非常感谢任何建议、链接或 sn-p
提前致谢
【问题讨论】:
-
我没用过 django-tables2,但你应该可以得到类似这样的 id_provider:
Master.id_provider_id或Master.id_provider.id_provider
标签: python django django-tables2