from base import db from enum import Enum class Person(db.Model): __tablename__ = 'faker_person' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(10), nullable=False) sex = db.Column(db.SMALLINT, nullable=False) age = db.Column(db.Integer, nullable=False) address = db.Column(db.String(20), nullable=False) identification = db.Column(db.String(18), nullable=False) phone = db.Column(db.String(20), nullable=False) @classmethod def __from_dict__(cls, **data: dict): obj = cls() obj.__dict__.update(data) return obj def __to_dict__(self): return {c.name: str(getattr(self, c.name)) for c in self.__table__.columns} class SexEnum(Enum): FEMALE = 0, '女' MALE = 1, '男' def __new__(cls, *values): obj = object.__new__(cls) # first value is canonical value obj._value_ = values[0] for other_value in values[1:]: cls._value2member_map_[other_value] = obj obj._all_values = values obj.sex = values[1] return obj def __repr__(self): return '<%s.%s: %s>' % ( self.__class__.__name__, self._name_, ', '.join([repr(v) for v in self._all_values]), )