Помогите пожалуйста понять в чём суть ошибки.
Я использую пакет
nimesis. С помощью него пытаюсь сгенерировать данные чтобы заполнить ими таблицу в БД.
Вот моя модель:
from app import db
import datetime
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(40), unique=True, nullable=False)
password_hash = db.Column(db.String(128), nullable=False)
reg_date_unix = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow)
upd_date_unix = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow)
email = db.Column(db.String(40))
desc = db.Column(db.Text)
def __repr__(self):
return '<User {}>'.format(self.username)
@staticmethod
def _bootstrap(count=10, locale='ru'):
from mimesis import Generic
generic = Generic(locale)
for _ in range(count):
user = User(
username=generic.full_name(gender='female'),
password_hash=generic.text(quantity=100),
reg_date_unix=generic.datetime.timestamp(posix=False),
upd_date_unix=generic.datetime.timestamp(posix=False),
email=generic.email(),
desc=generic.numbers.gender()
)
db.session.add(user)
try:
db.session.commit()
except Exception:
db.session.rollback()
Как видите, класс модели имеет статический метод, в котором генерируются значения для таблицы. при этом в БД таблица уже создана.
Проблема проявляется когда я пытаюсь из шелла запустить метод _bootstrap() следующим образом:
(venv) kalinin@md ~/python/crazy_run $ flask shell
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
App: app [production]
Instance: /home/kalinin/python/crazy_run/instance
>>> User()._bootstrap()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/kalinin/python/crazy_run/app/models.py", line 21, in _bootstrap
from mimesis import Generic
File "/home/kalinin/python/crazy_run/venv/lib/python3.5/site-packages/mimesis/__init__.py", line 10, in <module>
from mimesis.providers import *
File "/home/kalinin/python/crazy_run/venv/lib/python3.5/site-packages/mimesis/providers/__init__.py", line 5, in <module>
from mimesis.providers.base import BaseProvider, BaseDataProvider
File "/home/kalinin/python/crazy_run/venv/lib/python3.5/site-packages/mimesis/providers/base.py", line 84
self._data: Dict[str, Any] = {}
^
SyntaxError: invalid syntax
То есть система говорит мне, что ошибка в
from mimesis import Generic
Но в чём именно ошибка и как её исправить мне не понятно.