Как вернуть имя таблицы в модели Django - PullRequest
0 голосов
/ 14 октября 2018

My 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

My 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 голосов
/ 14 октября 2018

для i in x:
tmp = {'no': i.nohdt, 'indo': i.isi_indonesia, 'table_name': i .___ str ____ ()
} data.append (tmp)

0 голосов
/ 14 октября 2018

Вы можете получить доступ к названию модели через класс.Я считаю, что вы должны цикл с 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)
...