Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

206
Vistas
configurar el formulario de campo de slug manualmente en las vistas Django

Soy nuevo en Django y estoy tratando de completar previamente uno de los campos de mi formulario con un slug.

Estoy recibiendo la babosa de otro modelo. No estoy usando ForeignKey porque eso me muestra una lista con mis objetos y quiero guardar en el formulario el mismo slug que estoy usando en la url.

Tal vez no estoy pensando esto bien. ¿Qué tengo que hacer?

¡Gracias!

Estos son mis modelos:

 from django.db import models class Thing(models.Model): name = models.CharField(max_length=255,) rut = models.CharField(max_length=12, blank= True) cel = models.CharField(max_length=12, blank= True) slug = models.SlugField(unique=True) class Control(models.Model): id_p = models.SlugField() pa = models.CharField(max_length=3,)

mis formularios

 from django.forms import ModelForm from collection.models import Thing, Control, Medicamento class ThingForm(ModelForm): class Meta: model = Thing fields = ('name', 'rut','cel','pet',) class ControlForm(ModelForm): class Meta: model = Control exclude = ['id_p']

Esto es lo que estoy haciendo en las vistas.

 def add_control(request, slug): thing = Thing.objects.get(slug=slug) form_class = ControlForm form_class(initial={'id_p':thing}) if request.method == 'POST': form = form_class(request.POST) if form.is_valid(): form.save() return redirect('thing_detail', slug=thing.slug) else: form = form_class() return render(request, 'things/control.html', { 'thing': thing, 'form': form, })
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Entonces, ¡lo descubro! En views.py, después de "if form.is_valid():" pongo esto:

 prev = form.save(commit=False) prev.id_p = thing.slug prev.save()

De esa manera pongo los datos en el campo excluido antes de confirmar el formulario.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda