Мне нужно установить начальные данные в моем приложении, используя flask -seeder - https://pypi.org/project/Flask-Seeder/. Когда я запускаю команду flask seed run, я получаю в своей консоли эту информацию
Running database seeders
Committing to database!
, она не печатает то, что было создано, но в моем коде есть строка, в которой говорится, что он должен печатать. Результат в консоли должен выглядеть следующим образом:
Running database seeders
Adding Virtual Assistant: id=1, Name=Marek, last_name=Krol, job=teacher, image_filename=me.jpg, image_url=thispersondoesnotexist.com
DemoSeeder... [OK]
Committing to database!
Я впервые пытаюсь сделать что-то подобное, и я не знаю, что не так.
class DemoSeeder(Seeder):
def run(self):
faker = Faker(
cls = VirtualAssistant,
init={
"id": "1",
"name": "Marek",
"last_name": "Krol",
"job": "Teacher",
"image_filename": "me.jpg",
"image_url": "thispersondoesnotexist.com"
}
)
for assistant in faker.create(1):
print("adding Virtual Assistant: %s" % assistant)
self.db.session.add(assistant)
Моя модель
class VirtualAssistant(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(30))
last_name = db.Column(db.String(30))
job = db.Column(db.String(30))
image_filename = db.Column(db.String)
image_url = db.Column(db.String)
def __repr__(self, name, last_name, job, image_filename, image_url):
self.name = name
self.last_name = last_name
self.job = job
self.image_filename
self.image_url
def __init__(self, id=None, name=None, last_name=None, job=None, image_filename=None, image_url=None):
self.id = db.Column(db.Integer, primary_key=True)
self.name = db.Column(db.String(30), name)
self.last_name = db.Column(db.String(30), last_name)
self.job = db.Column(db.String(30), job)
self.image_filename = db.Column(db.String, image_filename)
self.image_url = db.Column(db.String, image_url)
def __str__(self):
return "id=%d, name=%s, last_name=%s, job=%s, image_filename=%s, image_url=%s" % (self.id, self.name, self.last_name, self.job, self.image_filename, self.image_url)
Решение: для всех, кто читал это, проблема заключалась в том, что у меня не было каталога семян с файлом demo.py, все было в одном файле app.py, что не так.