django - Object not showing in DetailView when using a uuid as primary key -


i'm using generate primary keys don't want them simple numbers easy guess (found in post):

def make_uuid(): return base64.b64encode(uuid.uuid4().bytes).replace('=', '') 

here model:

class shipment(models.model):     trackid = models.charfield(max_length=36, primary_key=true, default=make_uuid, editable=false) 

how can make detailview view work when use url myapp.com/detail/trackid_goes_here? i've tried saw here , still can't make work.

also, there better way unique primary keys using uuid?

thanks!

update:

it shows template using in views.py:

class shipmentdetailview(detailview):     template_name = 'shipments/detail.html'     context_object_name = 'shipment'      def get_object(self):         model = shipment.objects.get(pk=self.kwargs['trackid']) 

and urls.py:

url(r'app/detail/(?p<trackid>[\w\d-]+)/$', coreviews.shipmentdetailview.as_view(), name='shipment'), 

but "tags" used on template ( {{ shipment.trackid }} ) not working...

the reason template tags not working because need return instance in get_object():

def get_object(self):     return shipment.objects.get(pk=self.kwargs['trackid']) 

if don't return anything, method returns none (its default return value); , templates have nothing show.


Comments

Popular posts from this blog

php - failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request -

java - How to filter a backspace keyboard input -

java - Show Soft Keyboard when EditText Appears -