I'm using django-model-utils inheritance manager to query a data model with multi-table inheritance and it mostly works great! What doesn't work great is when I want to .select_subclasses() but also filter for a specific subclass. For example:
class Salad:
...
class Vegetable:
salad = models.ForeignKey(Salad)
...
class Cucumber(Vegetable):
...
class Carrot(Vegetable):
...
I would love to be able to just get ONLY all of the Cucumber objects related to a specific Salad without any Carrot objects. Unfortunately, the docs don't appear to explain this. Is my best option to create a type field on the Vegetable class that I set when saving any Vegetable object that would then be available for "regular" filtering? Thanks in advance!
If you want to filter only Cucumber objects you could do something like this:
Vegetable.objects.exclude(cucumber__isnull=True)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With