Pour certaines raisons (en particulier, pour essayer de faire système DB mise à niveau plus facile), je dois stocker toutes les propriétés étendues de l'utilisateur dans un autre objet (comme dans this question pour séparer personne et adresse)Stockage des informations supplémentaires sur les utilisateurs de Django
J'ai un ensemble de remplacement AUTH_PROFILE_MODULE et capture def_user_profile
.
class CustomUser(models.Model):
user = models.ForeignKey(User, unique=True)
def create_user_profile(sender, instance, created, **kwargs):
if created:
CustomUser.objects.create(user=instance)
La question est: si j'ajouter une propriété de type personnalisé à CustomUser, comme ceci:
class CustomPropertySet(models.Model):
this_is_a_Farmer = models.BooleanField()
class CustomUser(models.Model):
user = models.ForeignKey(User, unique=True)
extdata = models.CustomProperySet()
cela créera automatiquement une entrée CustomProperySet à l'ajout d'un nouvel utilisateur? Est-ce que CustomPropertySet doit être associé à ForeignKey à son propriétaire CustomUser? Deuxième question: comment supprimer les propriétés étendues de cette manière lorsque l'objet est supprimé?