class UserRouter:
    route_app_labels:{'user'}

    def db_for_read(self,model,**hints):
        if model._meta.app_label in self.route_app_labels:
            return 'user_db'
        return None

    def db_for_write(self,model,**hints):
        if model._meta.app_label in self.route_app_labels:
            return 'user_db'
        return None

    # def allow_relation(self,obj1,obj2,**hints):
    #     if(
    #         obj1._meta.app_label in self.route_app_labels or
    #         obj2._meta.app_label in self.route_app_labels
    #     ):
    #         return True
    #     return None

    def allow_migrate(self,db,app_label,model_name=None,**hints):
        if app_label in self.route_app_labels:
            return db=='user_db'
        return None

class ProductRouter:
    route_app_labels:{'products'}

    def db_for_read(self,model,**hints):
        if model._meta.app_label in self.route_app_labels:
            return 'product_db'
        return None

    def db_for_write(self,model,**hints):
        if model._meta.app_label in self.route_app_labels:
            return 'product_db'
        return None

    # def allow_relation(self,obj1,obj2,**hints):
    #     if(
    #         obj1._meta.app_label in self.route_app_labels or
    #         obj2._meta.app_label in self.route_app_labels
    #     ):
    #         return True
    #     return None

    def allow_migrate(self,db,app_label,model_name=None,**hints):
        if app_label in self.route_app_labels:
            return db=='product_db'
        return None

