Skip to content

Instantly share code, notes, and snippets.

@loic

loic/result.md Secret

Last active May 14, 2016 13:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save loic/4302a972e40cd3633e36522a03567e27 to your computer and use it in GitHub Desktop.
Save loic/4302a972e40cd3633e36522a03567e27 to your computer and use it in GitHub Desktop.
CustomManager.use_for_related_fields = False
Model _base_manager _default_manager
PlainModel Manager CustomManager
ModelWithAbstractParent Manager CustomManager
ProxyModel Manager CustomManager
MTIModel Manager Manager
CustomManager.use_for_related_fields = True
Model _base_manager _default_manager
PlainModel CustomManager CustomManager
ModelWithAbstractParent CustomManager CustomManager
ProxyModel CustomManager CustomManager
MTIModel Manager Manager
*.Meta.manager_inheritance_from_future = True
Model _base_manager _default_manager
PlainModel Manager CustomManager
ModelWithAbstractParent Manager CustomManager
ProxyModel Manager CustomManager
MTIModel Manager CustomManager
*.Meta.manager_inheritance_from_future = True
AbstractModel.Meta.base_manager_name = 'custom_manager'
PlainModel.Meta.base_manager_name = 'custom_manager'
Model _base_manager _default_manager
PlainModel CustomManager CustomManager
ModelWithAbstractParent Manager CustomManager
ProxyModel Manager CustomManager
MTIModel Manager CustomManager
def debug(model):
print("{}\t{}\t{}".format(
model.__name__,
model._base_manager.__class__.__name__,
model._default_manager.__class__.__name__,
))
class CustomManager(models.Manager):
pass
class AbstractModel(models.Model):
custom_manager = CustomManager()
class Meta:
abstract = True
debug(AbstractModel)
class PlainModel(models.Model):
custom_manager = CustomManager()
debug(PlainModel)
class ModelWithAbstractParent(AbstractModel):
pass
debug(ModelWithAbstractParent)
class ProxyModel(PlainModel):
class Meta:
proxy = True
debug(ProxyModel)
class MTIModel(PlainModel):
pass
debug(MTIModel)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment