For any simple-root constacyclic code Cover a finite field F q , as far as we know, the group G generated by the multiplier, the constacyclic shift and the scalar multiplications is the largest subgroup of the automorphism group Aut(C) ( C ) of C. In this paper, by calculating the number of G-orbits of C \{ 0 }, we give an explicit upper bound on the number of non-zero weights of C and present a necessary and sufficient condition for C to meet the upper bound. Some examples in this paper show that our upper bound is tight and better than the upper bounds in Zhang and Cao (2024) [26]. In particular, our main results provide a new method to construct few-weight constacyclic codes. Furthermore, for the constacyclic code C belonging to two special types, we obtain a smaller upper bound on the number of non-zero weights of C by substituting G with a larger subgroup of Aut(C). ( C ) . The results derived in this paper generalize the main results in Chen et al. (2024) [9]. (c) 2024 Elsevier B.V. All rights are reserved, including those for text and data mining, AI training, and similar technologies.