pw_migrate importing datetime as dt but use datetime keyword inside of migrations.
i have DateTimeField with default value in model
models/base.py
class BaseModel(Model):
created = DateTimeField(default=datetime.datetime.now(tz=timezone.utc))
updated = DateTimeField()
migrations/001_initial.py
import datetime as dt
import peewee as pw
from decimal import ROUND_HALF_EVEN
try:
import playhouse.postgres_ext as pw_pext
except ImportError:
pass
SQL = pw.SQL
def migrate(migrator, database, fake=False, **kwargs):
"""Write your migrations here."""
@migrator.create_model
class BaseModel(pw.Model):
id = pw.AutoField()
created = pw.DateTimeField(constraints=[SQL("DEFAULT datetime.datetime(2021, 11, 10, 17, 59, 56, 400314, tzinfo=datetime.timezone.utc)")], default=datetime.datetime(2021, 11, 10, 17, 59, 56, 400314, tzinfo=datetime.timezone.utc))
updated = pw.DateTimeField()
class Meta:
table_name = "basemodel"
...
error
migrate(migrator, self.database, fake=fake)
File "<string>", line 40, in migrate
File "<string>", line 42, in BaseModel
NameError: name 'datetime' is not defined
pw_migrate importing datetime as dt but use datetime keyword inside of migrations.
i have DateTimeField with default value in model
models/base.py
migrations/001_initial.py
error