Невозможно импортировать сериализатор в модель в Flask | Ошибка импорта: невозможно импортировать имя пользователя - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть одно имя модели Пользователь и сериализатор для Пользователя, как показано ниже:

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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...