Vous n'êtes pas identifié(e).
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