Изменение имени таблицы модели в представлении - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно изменить имя таблицы модели во время процесса:

на мой взгляд:

 def list_tables(request, *args, **kwargs):
    for suffix in range(0, 100):
        my_model._meta.db_table = "table_name_{}".format(suffix)
        print(my_model.objects.all().query)

, и результат:

SELECT "table_name_0"."field_1", "table_name_0"."field_2" from "table_name_0"

SELECT "table_name_0"."field_1", "table_name_0"."field_2" from "table_name_1"

Поэтому, когда я изменяю _meta.db_table в процессе, он меняет имена таблиц в операторе select и from в первом запросе, но во втором запросе он меняется на оператор, а имя таблицы в select остается таким же, как и в предыдущем table_name.

Итак, я получил эту ошибку во втором запросе:

django.db.utils.ProgrammingError: missing FROM-clause entry for table "...

У кого-нибудь есть предложения для меня?

...