Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

204
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!