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.