如何在Django模型中返回表名

时间:2018-10-14 07:05:14

标签: python django django-models django-templates django-views

我的Model.py

class Banana(models.Model):
nohdt = models.IntegerField()
isi_indonesia = models.CharField(max_length=1000, blank=True, null=True)

class Meta:
    managed = False
    db_table = 'Banana'
def __str__(self):
    return self.isi_indonesia

class Mango(models.Model):
nohdt = models.IntegerField() 
isi_indonesia = models.CharField(max_length=1000, blank=True, null=True)

class Meta:
    managed = False
    db_table = 'Mango'
def __str__(self):
    return self.isi_indonesia

我的View.py

list = []
data = []
banana = Banana.object.all()
mango  = Mango.object.all()
list.append(banana)
list.append(mango)
for x in list:      #looping django-models
    for i in x:      #looping list in models
        tmp = {'no':x.nohdt, 'indo':x.isi_indonesia, 'table_name':???}
        data.append(tmp)
return render(request, 'index.html', {'data':data})

我在model.py中有两个模型,在我的“ view.py”视图中,我使用LIST来存储数据。在存储之前,我循环列出模型,并循环模型的值。然后我使用tmp变量来保存“ nohdt”,“ isi_indonesia”和“模型名称”的信息。

如何返回型号名称?

2 个答案:

答案 0 :(得分:1)

您可以通过类访问模型名称。我相信您应该在嵌套的i中使用x进行循环,而不是for i in x: #looping list in models tmp = {'no': i.nohdt, 'indo': i.isi_indonesia, 'table_name': i.__class__.__name__} data.append(tmp)

{{1}}

答案 1 :(得分:0)

对于x中的i:
    tmp = {'no':i.nohdt,'indo':i.isi_indonesia,'table_name':i .___ str ____()
}     data.append(tmp)