Предупреждение SQLAlchemy Текстовое выражение столбца должно быть явно объявлено? - PullRequest
0 голосов
/ 01 февраля 2019

Я продолжаю получать это предупреждение, и независимо от того, что, кажется, не может избавиться от него (кроме того, что я его исключаю):

C:\...\site-packages\sqlalchemy\sql\elements.py:4390: SAWarning:
Textual column expression 'column_name' should be explicitly declared
with text('column_name'), or use column('column_name') for more
specificity 

if guess_is_literal else "column"

Я строю список объектов Column () (имя столбца + данныеТип) в одном контексте метаданных, а затем в другом контексте метаданных создать таблицу, используя этот список.Хотя это работает, оно дает это предупреждение.Я пытался:

  • сохранить его как "заключенное в кавычки"
  • приведение столбца к "ColumnClause", используя column ()
  • приведение столбца кTextClause, используя text ()
  • приведение столбца к строке, используя str ()

Независимо от того, что я все еще получаю предупреждение.

Вот несколько фрагментов кода Python:

for col_name in self.cols_source:
            print(meta.tables[self.table_name].c[col_name].name)
            print(type(meta.tables[self.table_name].c[col_name].name))          #quotedname
            print(type(column(meta.tables[self.table_name].c[col_name].name)))  #ColumnClause
            print(type(text(meta.tables[self.table_name].c[col_name].name)))    #TextClause
            print(type(str(meta.tables[self.table_name].c[col_name].name)))     #Str

            #source_query_cols.append( Column( name=meta.tables[self.table_name].c[col_name].name, type_=meta.tables[self.table_name].c[col_name].type ))
            #source_query_cols.append( Column( name=column(meta.tables[self.table_name].c[col_name].name), type_=meta.tables[self.table_name].c[col_name].type ))
            #source_query_cols.append( Column( name=text(meta.tables[self.table_name].c[col_name].name), type_=meta.tables[self.table_name].c[col_name].type ))
            source_query_cols.append( Column( name=str(meta.tables[self.table_name].c[col_name].name), type_=meta.tables[self.table_name].c[col_name].type ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...