簡體   English   中英

如何在Django模型中返回表名

[英]How to return table name in django model

我的模型

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”和“模型名稱”的信息。

如何返回型號名稱?

您可以通過類訪問模型名稱。 我認為您應該在嵌套for而不是xi循環。

for i in x:      #looping list in models
    tmp = {'no': i.nohdt, 'indo': i.isi_indonesia, 'table_name': i.__class__.__name__}
    data.append(tmp)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM