2009-08-03 12 views
13

Wenn ich eine django content_type Referenz (die ID der model.class und die ID des Objekts) habe, was ist der beste Weg, um das eigentliche Objekt selbst zu bekommen?Django Inhaltstyp: Wie bekomme ich ein Objekt?

Klingt trivial, aber ich kann nirgends ein Beispiel wirklich sehen.

+1

Wollen Sie [ 'get_object_for_this_type'] (http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#django .contrib.contenttypes.models.ContentType.get_object_for_this_type)? –

Antwort

36

Aus dem Gedächtnis, ist es so etwas wie dieses:

from django.contrib.contenttypes.models import ContentType 
ct = ContentType.objects.get_for_id(content_type) 
obj = ct.get_object_for_this_type(pk=object_id) 
+4

Sie Sir, hat ein sehr gutes Gedächtnis :) –

+6

Ich möchte darauf hinweisen, dass das Argument 'content_type' etwas irreführend ist. 'get_for_id' erwartet die ID content_type –

Verwandte Themen