У меня есть одно имя модели Пользователь и сериализатор для Пользователя, как показано ниже:
import uuid
from . import db, ma
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.String(64), primary_key=True, default=str(uuid.uuid4))
username = db.Column(db.String(16), nullable=False)
class UserSchema(ma.ModelSchema):
class Meta:
"""Meta class."""
model = User
и пользовательский сериализатор:
class UserSerializer(ma.ModelSchema):
username = fields.String(required=True, description='username')
class Meta:
"""Meta class."""
model = User
Теперь я хочу создать метод в USER
модель для проверки или создания нового пользователя. Вот метод:
.....
from ..serializer import user_serializer
.....
def check_user_or_create(username):
"""Validate user or create for new one"""
user = User.query.filter_by(
username=username
).first()
# if not exists
if not user:
data_user = {
'username': username
}
# store new user into database
user = User.load(data_user)
user.save()
return user
НО он возвращает:
ImportError: cannot import name 'User'
Как проверить или создать запись, используя Model и Serializer?