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

157
Views
Complete el formulario de Django con los datos obtenidos de la URL

Quiero crear una nueva Falacia (ver models.py) a través del formulario al que accedo a la path('<slug:slug_tree>/new/', views.CreateFallacyView.as_view(), name='create_fallacy'), . Entonces, el usuario está en TreeDetailView (que corresponde a un árbol determinado), y puede agregar una nueva falacia a este árbol. El usuario debe ingresar el título y los detalles, pero el árbol (ForeignKey) debe asignarse en el código. Debe ser asignado al Árbol correspondiente desde el cual fue dirigido a CreateFallacyView. El slug del árbol está dentro de la URL, así que pensé que podría usar esa información de alguna manera, pero no tengo idea de cómo puedo proceder con esa información. ¡Cualquier ayuda es apreciada! ¿O probablemente hay otras soluciones más elegantes?

¡Muchas gracias!

modelos.py

 class Tree(models.Model): title = models.CharField(max_length=50) detail = models.TextField() slug = models.SlugField(allow_unicode=True, unique=True, null=True, blank=True) class Fallacy(models.Model): title = models.CharField(max_length=50) detail = models.TextField() tree = models.ForeignKey(Tree, related_name='fallacy', on_delete=models.CASCADE)

vistas.py

 class CreateFallacyView(generic.CreateView): form_class = forms.FallacyForm

formularios.py

 class FallacyForm(forms.ModelForm): class Meta: model = models.Fallacy fields = ('title', 'detail')

urls.py

 app_name = 'argtree' urlpatterns = [ path('', views.TreeListView.as_view(), name='all'), path('<slug:slug_tree>/', views.TreeDetailView.as_view(), name='tree_detail'), path('<slug:slug_tree>/new/', views.CreateFallacyView.as_view(), name='create_fallacy'),
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

En CreateFallacyView puede vincularlo al Tree dado en el .form_valid(…) [Django-doc] con:

 from django.shortcuts import get_object_or_404 class CreateFallacyView(generic.CreateView): form_class = forms.FallacyForm def form_valid (self, form): tree = get_object_or_404(Tree, slug=self.kwargs['slug_tree']) form .instance.tree = tree return super().form_valid(form)
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!