'Best way to impliment database for seller and buyer with flask whereby a buyer can apply to become a seller

i am working on a multivendor e-commerce website with flask.

there would be a seller, a buyer, an admin and a super admin

the seller and the buyer will have common fields like username, password, email.. but there are some fields that would be specific to seller and buyer

also, a buyer can apply to become a seller

my approach is this - a user model to hold users with roles and permissions then a shop model that holds shop details which will contain the specific fields for sellers if a user applies to be a seller. therefore, all products, orders will be tied to the shop. when the user applies to be a seller(creating a shop) his role is automatically changed to seller. if he then applies to return to a buyer then the shop with all products and orders will be deleted.

is this a good approach? should i creat a seperate table for seller and buyer(which means i will have a multi authentication) or is there someway better.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source