9

UpdateView ile ilgili URL adresinden pk kaldırmayı mümkün mü?Django UpdateView, pk dosyası olarak

Mesela ben

url(r'^myobj/update/(?P<pk>\d+)/$', views.UpdateMyObj.as_view(), name="update") 

varsa POST veya GET istekte parametre olarak pk göndermek sonra

url(r'^myobj/update/$', views.UpdateMyObj.as_view(), name="update") 

ve benzeri yazmak için herhangi bir yolu var mı?

+1

Bu yayını: http://stackoverflow.com/questions/6181041/updating-user- model-in-django-sınıf-tabanlı-updateview – Staccato

cevap

25

Evet bu mümkün sadece get_object yöntemini geçersiz kılmak gerekir: gördüğüm bu cevaba daha kısa bir alternatif olarak

from django.views.generic.edit import UpdateView 

class UpdateMyObj(UpdateView): 
    # ..... 

    def get_object(self): 
     return MyModel.objects.get(pk=self.request.GET.get('pk')) # or request.POST 
+0

Uygulama ile bir bağlantı var mı? Teşekkürler –

+1

Nesne almak için get_object_or_404'ü kullanmak mantıklıdır –

+0

En iyi uygulama, sunucudaki güncellemeler için 'request.GET 'kullanmamaktır. Bunun yerine her zaman 'request.POST 'kullanmak en iyisidir. – Semmel