В настоящее время PyCharm не знает соглашения ORM SQLAlchemy, поэтому обычно он не знает реальных типов полей модели. Если вы хотите получить специальную поддержку SQLAlchemy в PyCharm, не стесняйтесь проголосовать за проблему PY-4186 в трекере PyCharm.
Обновление: PY-4536 был исправлено в 2013 году. Как упоминается ниже, все еще существует проблема, если вы используете Mixins, см. PY-12002 .
Можно сделать это при помощи символа ESC, '\' перед фигурными скобками.
# to print '{I am inside braces}'
print('\{I am inside braces\}')
Примечание, что символы ESC также используются, чтобы сделать некоторый специальный тип задач, как - '\n' для новой строки, '\t' для tabspace. Так, используйте их соответственно.
Я недавно столкнулся с этим, потому что я хотел ввести строки в предварительно отформатированный JSON. Мое решение состояло в том, чтобы создать вспомогательный метод, как это:
def preformat(msg):
""" allow {{key}} to be used for formatting in text
that already uses curly braces. First switch this into
something else, replace curlies with double curlies, and then
switch back to regular braces
"""
msg = msg.replace('{{', '<<<').replace('}}', '>>>')
msg = msg.replace('{', '{{').replace('}', '}}')
msg = msg.replace('<<<', '{').replace('>>>', '}')
return msg
можно затем сделать что-то как:
formatted = preformat("""
{
"foo": "{{bar}}"
}""").format(bar="gas")
Сделали задание, если производительность не является проблемой.