Hello guys, I have a problem to deal with a field ManyToMany in Django. It is the following:
When I try to access a list of relations that is my ManyToMany field I get an error "%ModelName% instance needs to have a primary key value before a many- to-many relationship Can be used. " I need to perform validation "before storing the record in the database". As you can see in the "view" code below, I used "save" in the "ModelForm" with "commit = False" so would build the ManyToMany relationship in memory. This did not work. I've tried to find the solution on the internet but found nothing that work. Surely someone has been there. Thanks to collaboration. ###################################### # Source ###################################### Note: The Model "Group" is the native Django admin ###################################### # Model ###################################### class Application (models.Model): . . . groups = models.ManyToManyField (Group related_name = 'application') . . . eh_valida def (self): validating = True # ###################################### # HAVE PROBLEMS HERE. The attribute "self.grupos" is not filled. It should be a list. # Error: %ModelForm% instance # Needs to have a primary key value before the # Many-to-many relationship Can be used. " # ###################################### meuConjuntoDeGrupos = set (self.grupos) # ###################################### . . . return validating ###################################### # ModelForm ###################################### AplicacaoForm class (ModelForm): class Meta: model = Application # View def adiciona_aplicacao (request, idQuestionario): form = AplicacaoForm (request.POST) if request.method == 'POST': if form.is_valid (): form.save (commit = False) if form.instance.eh_valida (): form.save (commit = True) HttpResponseRedirect return (reverse (manager)) # . . . -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.