/
developer_atatanoff
/
simple_auth_fastapi
Обзор
Документация
Войти
/
developer_atatanoff
/
simple_auth_fastapi
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
auth/models.py
57 строк
2 KB
Alex Tata
Добавил алембик и менедж
03 авг 2026, 19:33
03 авг 2026, 19:33
6413f20
Код
Авторство
О чём код?
from sqlalchemy import ( Column, String, Boolean, ForeignKey, Integer, DateTime, Text, BigInteger, ) from sqlalchemy.orm import relationship from datetime import datetime, timezone from sqlalchemy.dialects.postgresql import JSONB from sqlalchemy.orm import declarative_base Base = declarative_base() class AuthTokens(Base): __tablename__ = "authtoken_token" key = Column(String(64), nullable=False, primary_key=True, unique=True, index=True) created = Column( DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) ) user_id = Column(Integer, ForeignKey("auth_user.id")) user = relationship("Users", back_populates="tokens") class AuthSession(Base): __tablename__ = "fastapi_session" session_key = Column( String(64), primary_key=True, nullable=False, unique=True, index=True ) session_data = Column(Text, nullable=False) expire_date = Column(DateTime(timezone=True), nullable=False) class Users(Base): __tablename__ = "auth_user" id = Column(Integer, primary_key=True, autoincrement=True, index=True) password = Column(String(128), nullable=False) last_login = Column(DateTime(timezone=True)) is_superuser = Column(Boolean, default=False) username = Column(String(150), nullable=False, index=True, unique=True) first_name = Column(String(150), nullable=True) last_name = Column(String(150), nullable=True) email = Column(String(254), unique=True, index=True, nullable=True) is_staff = Column(Boolean, default=False) is_active = Column(Boolean, default=True) date_joined = Column( DateTime(timezone=True), default=lambda: datetime.now(timezone.utc) ) tokens = relationship("AuthTokens", back_populates="user")