Django-fr

Forum

#1 28-01-2018 15:37:00

cobra85
Membre
Inscription : 11-05-2015
Messages : 58

Probleme Modele et relation

Bonjour,


Je développe un site pour ma boite afin de faciliter la gestion administrative des documents d'identité et autres.


J'ai un formulaire "identite", puis un formulaire "document" et "assurance". Pour l'instannt les deux derniers formulaire ont une ForeignKey sur "identite". Cependant je souhaite que lorsque l'utilisateur se connecte au portail il puisse rentrer ces differents documents et assurance sans avoir à chercher son dans une liste déroulantes, que se soi transparent pour l'utilisateur. Que la relation se fasse de maniere automatique. M Truc a 1 permis N° XXX et un Carte Grise N° YYY avec l'assurance WWW

SEXE = ((0, 'Homme'), (1, 'Femme'))
class Identite(models.Model):
    date_creation = models.DateTimeField('date de creation', auto_now_add=True)
    nom = models.CharField(max_length=20, unique=True)
    prenom = models.CharField(max_length=20)
    sexe = models.BooleanField(choices=SEXE, default="0")
    date_naissance = models.DateField(blank=True, null=True)
    lieu_naisance = models.CharField(max_length=50)
    adresse = models.TextField()
    taille = models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True)
    yeux = models.CharField(max_length=8, blank=True, null=True)
    cheveux = models.CharField(max_length=8, blank=True, null=True)
    poids =  models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True)
    grp_sanguin = models.CharField(max_length=5, blank=True, null=True)
    signe_particulier = models.TextField(blank=True)


    class Meta:
        ordering = ['nom', 'prenom']

    def __unicode__(self):
        return self.nom

    def something(self):
        return self.prenom

class Document(models.Model):
    mission = models.ForeignKey(Mission)
    nom = models.ForeignKey(Identite)
    type = models.CharField(max_length=20, null=True)
    num_serie = models.CharField(max_length=20, null=True)
    num_enregistement = models.CharField(max_length=20, null=True)
    date_creation = models.DateField(blank=True, null=True)
    date_fin = models.DateField(blank=True, null=True)

    class Meta:
        ordering = ['type']

    def __unicode__(self):
        return self.type


class Assurance(models.Model):
    nom = models.ForeignKey(Identite)
    type_assurance = models.CharField(max_length=20)
    num_contrat = models.CharField(max_length=10)
    nom_assurance = models.CharField(max_length=10)
    validite = models.DateField(blank=True, null=True)
    acquereur = models.CharField(max_length=20, blank=True, null=True)
    repondant = models.CharField(max_length=20, blank=True, null=True)

    class Meta:
        ordering = ['nom_assurance']

    def __unicode__(self):
        return self.nom_assurance

Sachant que j'utilise aussi l'authentification de Django pour me connecter, mais s'il le faut je peut créer un formulaire indépendant.

Merci à vous

Hors ligne

#2 29-01-2018 11:10:43

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Probleme Modele et relation

Il faut que tu enlèves le champs relationnel de tes formulaires et que tu instances ces formulaires avec l'utilisateur courant. Il sera peut-être nécessaire de surcharger également la méthode d'enregistrement dans le formulaire.

Hors ligne

#3 29-01-2018 13:19:04

cobra85
Membre
Inscription : 11-05-2015
Messages : 58

Re : Probleme Modele et relation

Bonjour,

Merci de ta reponse. en gros j'enlève les "nom = models.ForeignKey(Identite)" et je remplace cela par des OnetoOne(User).

Par contre comment je creer mon Form et j'enregistre avec le bon utilisateur ?

Merci

Hors ligne

Pied de page des forums