ユーザーがドライバとマネージャの両方になることができる場所追跡アプリケーションを構築しています。Flask-SqlAlchemyの継承
ドライバとマネージャには2種類のアプリがあります。ユーザーは、同時にマネージャとドライバの両方になることができます。
だから、私のようなモデルがあります:
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False)
def __init__(self, name):
self.name = name
class Driver(User):
driving_license = db.Column(db.String)
def __init__(self, driving_license):
self.driving_license)
class Manager(User):
designation = db.Column(db.String)
が、これはそれを行うための正しい方法ですか私はユーザークラスから継承することなく、ユーザクラスと別のドライバやマネージャークラスを設計する必要があります。後者の場合、is_driverとis_managerの2つのフラグをマークできます。
ドライバとマネージャの関数をUserクラスにリンクして書く方法より前が正しい場合は、
いずれの場合も、お使いのアプリケーションによっては正しくなる可能性があります。ほとんどの場合、デフォルトの '__init__'をオーバーライドする必要はありません。デフォルトの '__init__'はキーワード引数をとり、インスタンスに設定します。 – univerio