From 57836f78cb05fe2762a696035d103c7dc0ff8169 Mon Sep 17 00:00:00 2001 From: Yan Kurbatov Date: Sat, 18 Dec 2021 20:11:40 +0300 Subject: [PATCH 1/2] Fix enums converting --- sqlmodel/main.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sqlmodel/main.py b/sqlmodel/main.py index 08eaf5956f..22ce4f98cd 100644 --- a/sqlmodel/main.py +++ b/sqlmodel/main.py @@ -1,9 +1,9 @@ import ipaddress import uuid import weakref +import enum from datetime import date, datetime, time, timedelta from decimal import Decimal -from enum import Enum from pathlib import Path from typing import ( TYPE_CHECKING, @@ -42,6 +42,7 @@ Interval, Numeric, inspect, + Enum ) from sqlalchemy.orm import RelationshipProperty, declared_attr, registry, relationship from sqlalchemy.orm.attributes import set_attribute @@ -394,7 +395,7 @@ def get_sqlachemy_type(field: ModelField) -> Any: return Interval if issubclass(field.type_, time): return Time - if issubclass(field.type_, Enum): + if issubclass(field.type_, enum.Enum): return Enum if issubclass(field.type_, bytes): return LargeBinary From d51bcd34404e48fb5ad705b1fb930d4855411ba7 Mon Sep 17 00:00:00 2001 From: Yan Kurbatov Date: Sun, 19 Dec 2021 17:38:22 +0300 Subject: [PATCH 2/2] Pass current enum to sqlalchemy enum type --- sqlmodel/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqlmodel/main.py b/sqlmodel/main.py index 22ce4f98cd..f74a50feaf 100644 --- a/sqlmodel/main.py +++ b/sqlmodel/main.py @@ -396,7 +396,7 @@ def get_sqlachemy_type(field: ModelField) -> Any: if issubclass(field.type_, time): return Time if issubclass(field.type_, enum.Enum): - return Enum + return Enum(field.type_) if issubclass(field.type_, bytes): return LargeBinary if issubclass(field.type_, Decimal):