Skip to content

Instantly share code, notes, and snippets.

@PirosB3
Created May 30, 2014 16:27
Show Gist options
  • Save PirosB3/3e859c137514ea976145 to your computer and use it in GitHub Desktop.
Save PirosB3/3e859c137514ea976145 to your computer and use it in GitHub Desktop.
# RELATED_OBJECTS
class BaseRelatedModel(models.Model):
name_base = models.CharField(max_length=10)
class FirstRelatingObject(models.Model):
model_base_first = models.ForeignKey(BaseRelatedModel)
class FirstRelatingHiddenObject(models.Model):
model_hidden_base_first = models.ForeignKey(BaseRelatedModel,
related_name='+')
class RelatedModel(BaseRelatedModel):
name = models.CharField(max_length=10)
class SecondRelatingObject(models.Model):
model_base_second = models.ForeignKey(RelatedModel)
class SecondRelatingHiddenObject(models.Model):
model_hidden_base_second = models.ForeignKey(RelatedModel,
related_name='+')
class RelatedModelProxy(RelatedModel):
class Meta:
proxy = True
ipdb> RelatedModelProxy._meta.get_all_related_objects()
[<RelatedObject: model_options:firstrelatingobject related to model_base_first>,
<RelatedObject: model_options:secondrelatingobject related to model_base_second>]
ipdb> RelatedModelProxy._meta.get_all_related_objects(include_proxy_eq=True)
[<RelatedObject: model_options:firstrelatingobject related to model_base_first>,
<RelatedObject: model_options:secondrelatingobject related to model_base_second>]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment