Prova a specificare esplicitamente l'id campo e contrassegnandolo come chiave primaria:
class UserProfile(models.Model):
id = models.BigIntegerField(primary_key = True)
user = models.OneToOneField(User)
avatar = models.ImageField(blank=True, upload_to=get_image_path, default='/static/image/avatar/male.png')
age = models.IntegerField(default=4, validators=[MinValueValidator(3), MaxValueValidator(99)])
Django dovrebbe creare automaticamente una sequenza per questo campo.
Può essere che l'User la chiave esterna senza una chiave primaria definita in modo esplicito confonde l'ORM, sebbene sia solo una teoria.