Para comentarles mi problema los contextualizo: Es un ejercicio de prática. Django 2.1.5; PyCharms
Tengo dos modelos relacionados, la idea es poder ingresar datos desde un mismo formulario a los dos modelos, para eso tengo lo siquiente: *Modelos:* class Autor(models.Model): nombre = models.CharField('Nombres', max_length=80) nacionalidad = models.CharField('Nacionalidad', max_length=80) edad = models.IntegerField('Edad') def __str__(self): return self.nombre class Libros(models.Model): title = models.CharField('Título', blank=False, max_length=150) resume = models.TextField('Resumen', blank=True) autor = models.ForeignKey(Autor, on_delete=models.CASCADE) idioma = models.ForeignKey(Idioma, on_delete=models.CASCADE) def __str__(self): return self.title *Formularios* class forLibros(forms.ModelForm): class Meta: model = Libros #falta poner el campo autor para que funcione bien el formulario fields = [ 'title', 'resume', 'idioma', ] labels = { 'title': 'Título', 'resume': 'Resumen', 'idioma': 'Idioma', } widgets = { 'title': forms.TextInput(attrs={'class': 'form-control'}), 'resume': forms.TextInput(attrs={'class': 'form-control'}), 'idioma': forms.Select(attrs={'class': 'form-control'}), } class forAutor(forms.ModelForm): class Meta: model = Autor fields = ['nombre', 'nacionalidad', 'edad'] labels = {'Nombre': 'nombre', 'Nacionalidad': 'nacionalidad', 'Edad': 'edad'} widgets = { 'nombre': forms.TextInput(attrs={'class': 'form-control'}), 'nacionalidad': forms.TextInput(attrs={'class': 'form-control'}), 'edad': forms.NumberInput(attrs={'class': 'form-control'}), } *Vista* class addAutorXlibro(CreateView): model = Libros template_name = 'biblioteca/add-libros-autor.html' form_class = forLibros second_for_class = forAutor success_url = reverse_lazy('inicio_app:index') def get_context_data(self, **kwargs): context = super(addAutorXlibro, self).get_context_data(**kwargs) if 'form' not in context: context['form'] = self.form_class(self.request.GET) if 'form2' not in context: context['form2'] = self.second_for_class(self.request.GET) return context def post(self, request, *args, **kwargs): self.object = self.get_object() form = self.form_class(request.POST) form2 = self.second_for_class(request.POST) if form.is_valid() and form2.is_valid(): libro = form.save(commit=False) libro.autor = form2.save() libro.save() return HttpResponseRedirect(self.get_success_url()) else: return self.render_to_response(self.get_context_data(form=form, form2=form)) *Plantilla* {% block contenido %} <form method="post"> {% csrf_token %} {{ form2.as_p }} <div>-------</div> {{ form.as_p }} <button class="btn btn-primary" type="sumit">Guardar</button> </form> {% endblock %} *url* path('add-libros-autor', views.addAutorXlibro.as_view(), name="add-libros-autor"), El formulario se pinta bien, pero cuando ingreso los datos y doy clic en guardar me sale este error: AttributeError at /add-libros-autor Generic detail view addAutorXlibro must be called with either an object pk or a slug in the URLconf. Me está pidiendo un parámetro en la url. Si por ejemplo le paso un /1 , todo me funciona bien. Lo que quiero saber, es porqué siempre me pide ese parámetro o si hay una forma de que el formulario funcione sin tener que poder ese /1. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/429871d5-7c1e-4a00-a0c7-a60ec1809d50%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.