Can';不要在Django db模型中使用python输出格式

Can';不要在Django db模型中使用python输出格式,python,django,python-3.x,Python,Django,Python 3.x,我正在Django db中测试一个非常简单的类: class Airport(models.Model): code = models.CharField(max_length=3) city = models.CharField(max_length=64) def __str__(self): return f"{self.city} ({self.code})" 但是,当makemigrations时,它在使用返回f“{self.city}({s

我正在Django db中测试一个非常简单的类:

class Airport(models.Model):
    code = models.CharField(max_length=3)
    city = models.CharField(max_length=64)

    def __str__(self):
        return f"{self.city} ({self.code})"
但是,当makemigrations时,它在使用返回f“{self.city}({self.code})”时返回语法错误:

回溯(最近一次呼叫最后一次):
文件“manage.py”,第15行,在
从命令行(sys.argv)执行命令
文件“/home/jello/.local/lib/python3.5/site packages/django/core/management/_init__.py”,第371行,从命令行执行
utility.execute()
文件“/home/jello/.local/lib/python3.5/site packages/django/core/management/_init__.py”,执行中第347行
django.setup()
文件“/home/jello/.local/lib/python3.5/site packages/django/_init__.py”,第24行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/home/jello/.local/lib/python3.5/site packages/django/apps/registry.py”,第112行,填充
app_config.import_models()
文件“/home/jello/.local/lib/python3.5/site packages/django/apps/config.py”,第198行,在import_模型中
self.models\u module=导入模块(models\u module\u name)
文件“/usr/lib/python3.5/importlib/_init__.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第986行,在_gcd_import中
文件“”,第969行,在“查找”和“加载”中
文件“”,第958行,在“查找”和“加载”中解锁
文件“”,第673行,在“加载”中
exec_模块中第661行的文件“”
文件“”,第767行,get_代码
文件“”,第727行,源代码为
文件“”,第222行,在已删除帧的调用中
文件“/mnt/c/Users/green/desktop/project3/orders/models.py”,第11行
返回f“{self.city}({self.code})”
^
SyntaxError:无效语法
使用以下命令修改行时:

返回“{}({})”格式(self.city,self.code)

返回self.city+”(“+self.code+”)

两者都很有效。有人知道为什么返回f“{self.city}({self.code})”会出错吗

我使用的是Python版本3.5.2和Django版本2.0.3


谢谢大家!

这是因为您使用的是python旧版本。python 3.6版本的F字符串支持。因此,请更新您的python版本。您没有遇到任何错误

f-string语法已添加到中。你用的是3.5这能回答你的问题吗?是的,我升级到3.6之后,它就可以工作了!非常感谢。
Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/jello/.local/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/home/jello/.local/lib/python3.5/site-packages/django/core/management/__init__.py", line 347, in execute
    django.setup()
  File "/home/jello/.local/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/jello/.local/lib/python3.5/site-packages/django/apps/registry.py", line 112, in populate
    app_config.import_models()
  File "/home/jello/.local/lib/python3.5/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 661, in exec_module
  File "<frozen importlib._bootstrap_external>", line 767, in get_code
  File "<frozen importlib._bootstrap_external>", line 727, in source_to_code
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/mnt/c/Users/green/desktop/project3/orders/models.py", line 11
    return f"{self.city} ({self.code})"
                                      ^
SyntaxError: invalid syntax