Please reread the "same property in the same object" part. You need row+column level locks for that.
In cases where users update the same row but different [independent] columns, you can avoid unnecessary conflicts. Either by redesigning relational model or by using CRDTs.