feat: faker data: identification
This commit is contained in:
@@ -1 +1,2 @@
|
||||
from .person import Person
|
||||
from .person import Person
|
||||
from .person import SexEnum
|
||||
@@ -1,4 +1,5 @@
|
||||
from base import db
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class Person(db.Model):
|
||||
@@ -9,3 +10,35 @@ class Person(db.Model):
|
||||
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]),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user