Django-fr

Forum

  • Accueil
  • » Django-fr
  • » Comment gérer le populate et gérer une reverse Many To Many relation?

#1 14-05-2014 13:28:59

DjangoPuccino
Membre
Inscription : 28-03-2014
Messages : 2

Comment gérer le populate et gérer une reverse Many To Many relation?

Bonjour,

Je souhaiterai savoir comment gérer une reverse manytomany relation.

J'ai deux classes WUser et Entity.
J'ai mis le champs manytomanyfield dans la classe WUser. L'enregistrement des entités depuis le formulaire de WUser se fait bien dans la table d'association.
Par contre je souhaiterais pouvoir gérer les utilisateurs depuis le formulaire des entités sans avoir à créer un autre champs manytomanyfield dans la tble Entity et que ça enregistre et populate bien les données de la table d'association entre wuser et entity.

Le classe WUser :

class WUser(AbstractBaseUser, PermissionsMixin, WModel):
    # ManyToMany relation's objects
    entities = models.ManyToManyField('authentication.Entity')

La classe Entity :

class Entity(WModel):
    address = models.CharField(max_length=200)

Formulaire de modification d'un WUser :

class EditUserForm(forms.ModelForm):
    class Meta:
        model = WUser
        fields = ('username', 'password', 'first_name', 'last_name', 'email', 'date_birth', 'skin', 'entities', 'roles', 'permissions', 'client')

Formulaire de modification d'une entity :

class EntityForm(forms.ModelForm):
    class Meta:
        model = Entity
        exclude = ('deleted',)
        fields = ('description', 'address', 'parent', 'client')
    # defines manytomanyfields for this form
    def __init__(self, *args, **kwargs):
        super(EntityForm, self).__init__(*args, **kwargs)
        self.fields['users'] = forms.MultipleChoiceField(choices=[(obj.id,obj.username) for obj in WUser.objects.all()],
            label='Utilisateurs', widget=forms.SelectMultiple(attrs={'class':'form-control'}), required=False)

Merci beaucoup par avance pour votre aide !!

Dernière modification par DjangoPuccino (14-05-2014 13:29:41)

Hors ligne

  • Accueil
  • » Django-fr
  • » Comment gérer le populate et gérer une reverse Many To Many relation?

Pied de page des forums