get content type in a more sane manner

This commit is contained in:
Sanjay B 2013-09-28 18:26:50 +05:30
parent 003161a216
commit c1956e7509

View File

@ -206,11 +206,12 @@ class ItfModel(models.Model):
Get the insidepages.models.ModelExtra object associated with this model
'''
def get_modelextra(self):
try:
ctype = ContentType.objects.get(model=self.__class__._meta.module_name)
except:#FIXME: ideally catch only MultipleObjectsReturned (figure out where to import that from :/ ) #FUCKING way ugly hack to get clashing model ctype names with django internal models working (get_real_ctypes simply checks, if there are multiple content objects with the same 'module_name', which one is_itf_model, and returns that).
ctype = get_real_ctype(self.__class__._meta.module_name)
# modelextra = ModelExtra.objects.filter(model=ctype)[0]
ctype = get_content_type()
# try:
# ctype = ContentType.objects.get(model=self.__class__._meta.module_name)
# except:#FIXME: ideally catch only MultipleObjectsReturned (figure out where to import that from :/ ) #FUCKING way ugly hack to get clashing model ctype names with django internal models working (get_real_ctypes simply checks, if there are multiple content objects with the same 'module_name', which one is_itf_model, and returns that).
# ctype = get_real_ctype(self.__class__._meta.module_name)
# # modelextra = ModelExtra.objects.filter(model=ctype)[0]
try:
modelextra = ctype.modelextra_set.all()[0]
except: