Solved it thanks to Bear Brown his suggestion. I removed the signal and added UniqueConstraint to the AppVersion model like this:
class Meta:
db_table="app_version"
constraints = [
models.UniqueConstraint(fields=['app_uuid', 'version_code'], name="unique appversion")
]