diff --git a/casbin/model/model.py b/casbin/model/model.py index e33fd71..ecef775 100644 --- a/casbin/model/model.py +++ b/casbin/model/model.py @@ -124,7 +124,12 @@ def sort_policies_by_priority(self): if assertion.priority_index == -1: continue - assertion.policy = sorted(assertion.policy, key=lambda x: x[assertion.priority_index]) + assertion.policy = sorted( + assertion.policy, + key=lambda x: int(x[assertion.priority_index]) + if x[assertion.priority_index].isdigit() + else x[assertion.priority_index], + ) for i, policy in enumerate(assertion.policy): assertion.policy_map[",".join(policy)] = i