1

I'm creating my tables with SqlAlchemy and have a table called UserTypes

id | type

0 | Owner

1 | Customer

In my User table i take usertype id as foreign key. And whenever i want to create a user, i want to assign usertype default 0. But my usertype table is empty, so i want to fill this table right after its created with SqlAlchemy, and locked for further insertions. Question is can i insert

Here is my User and UserType modals.

class User(Model):       

    id = Column(db.Integer, primary_key=True)
    email = Column(db.String(64), unique=True, index=True)
    username = Column(db.String(15), unique=True, index=True)
    name = Column(db.String(64))
    password_hash = Column(db.String(128))
    usertype_id = Column(db.Integer, db.ForeignKey('user_types.id'), default=DEFAULT_USERTYPE)

and

class UserType(db.Model):

   __tablename__ = 'user_types'
   id = db.Column(db.Integer, primary_key=True)
   name = db.Column(db.String(64), index=True, unique=True)   
   users = db.relationship('User', backref='user_types', lazy='dynamic') 
   
0

1 Answer 1

1

You could add those UserTypes in your app/__init__.py. You would have to check under which key the table gets saved, I'm not sure if it would be 'usertype' or 'user_types'.

if 'user_types' not in db.metadata.tables.keys():
    db.create_all()
    t1 = UserType()
    t1.id = 0
    t1.name = 'Owner'
    db.session.add(t1)
    t2 = UserType()
    t2.id = 1
    t2.name = 'Customer'
    db.session.add(t2)
    db.session.commit()
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.