@Caeterra

Как заменить название модели на переменную в Django?

Добрый день. Изучаю Django совсем недавно и возникли трудности. Подскажите, как правильно заменить название модели на переменную или в какую сторону копать? В БД используется много одинаковых таблиц (ок. 2000) с одинаковой структурой. Мне нужно заменить table_name на key, при этом не создавая 2000 моделей.

MODEL:
class table_name(models.Model):
ttl = models.CharField(max_length=50)
ttl_lnk = models.CharField(max_length=50)

VIEWS:

def lnk(request, key):
result = key.objects.all()
return render(request, 'index/index.html', {'key': result})

Пробовал через getattr: result= getattr(table_name, 'key').objects.all()

Но что-то делаю не так.
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
если структура одинакова, то почему не обьединить все данные в одну таблицу и добавить поле TypeRec, в котором будет храниться нужное значение типа?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
Очевидно надо надо глобальную переменную:
global ПЕРЕМЕННАЯ
ПЕРЕМЕННАЯ = MODEL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы