resources: bug fix + better error messages

This commit is contained in:
Sébastien Piquemal 2012-01-05 22:52:28 +02:00
parent 36b89cd367
commit ae48937334

View File

@ -536,34 +536,33 @@ class ModelResource(FormResource):
""" """
Return the model class for this resource. Return the model class for this resource.
""" """
if hasattr(self, 'model'): model = getattr(self, 'model', None)
return self.model if model is None:
elif hasattr(self.view, 'model'): model = getattr(self.view, 'model', None)
return self.view.model if model is None:
else:
raise ImproperlyConfigured(u"%(cls)s is missing a model. Define " raise ImproperlyConfigured(u"%(cls)s is missing a model. Define "
u"%(cls)s.model." % { u"%(cls)s.model." % {
'cls': self.__class__ 'cls': self.__class__
}) })
return model
def get_queryset(self): def get_queryset(self):
""" """
Return the queryset that should be used when retrieving or listing Return the queryset that should be used when retrieving or listing
instances. instances.
""" """
if hasattr(self, 'queryset'): queryset = getattr(self, 'queryset', None)
queryset = self.queryset if queryset is None:
elif hasattr (self.view, 'queryset'): queryset = getattr(self.view, 'queryset', None)
queryset = self.view.queryset if queryset is None:
else: try:
model = self.get_model() model = self.get_model()
if model: except ImproperlyConfigured:
queryset = model._default_manager.all()
else:
raise ImproperlyConfigured(u"%(cls)s is missing a queryset. Define " raise ImproperlyConfigured(u"%(cls)s is missing a queryset. Define "
u"%(cls)s.model or %(cls)s.queryset." % { u"%(cls)s.model or %(cls)s.queryset." % {
'cls': self.__class__ 'cls': self.__class__
}) })
queryset = model._default_manager.all()
return queryset._clone() return queryset._clone()
def get_ordering(self): def get_ordering(self):