2017-08-17 3 views
1

Je suis en train d'utiliser en intégré UpdateView & DeleteView, et je continue à me TypeErrors, à l'exception Valeur:a obtenu une vue argument mot-clé inattendu 'pk' sur genric

get() a obtenu un argument mot-clé inattendu 'pk'

views.py

class SeqRunUpdate(LoginRequiredMixin, UpdateView): 
    form_class = Sequencing_RunsForm 
    model = Sequencing_Runs 

class SeqRunDelete(LoginRequiredMixin, DeleteView): 
    model = Sequencing_RunsForm 
    success_url = reverse_lazy('seq_run-private') 

urls.py

url(r'^private/Samples/(?P<pk>[0-9]+)/$', views.SampleUpdate.as_view(), name='sample-update'), 
url(r'^private/Samples/(?P<pk>[0-9]+)/del$', views.SampleUpdate.as_view(), name='sample-delete'), 

models.py

class Sequencing_Runs(models.Model): 
    seq = models.CharField (max_length=250, unique=True, verbose_name='Sequence') 
    date= models.DateField (auto_now=False, verbose_name='Date') 
    classifaction = models.IntegerField(choices=CLASSIFACTION_CHOICES, default=1) 

    def get_absolute_url(self): 
     return reverse('table:seq_run-add') 

    def __str__(self): 
     return self.seq 

Modèle

<td><form action="{% url 'table:seq_run-update' seq.pk %}" method="get" style="display: inline;"> 
         {% csrf_token %} 
         <button type="submit" class="btn btn-default"> 
          <span class="glyphicon glyphicon-edit"></span> 
         </button> 
        </form></td> 
        <td><form action="{% url 'table:seq_run-delete' seq.pk %}" method="get" style="display: inline;"> 
         {% csrf_token %} 
         <button type="submit" class="btn btn-default"> 
          <span class="glyphicon glyphicon-trash"></span> 
         </button> 
        </form></td> 

Répondre

1

Vous utilisez SampleUpdate dans votre urls.py mais Je ne peux pas voir cette classe n'importe où dans votre views.py, vous avez plutôt SeqRunUpdate & SeqRunDelete. Utilisez la classe de vue respective dans vos URL et l'erreur devrait disparaître.

+0

oh je viens de remarquer que j'ai confus entre les urls merci beaucoup j'ai été empilé sur cette erreur pour un jour – aviv