1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | class Necklace(models.Model):
### FIELDS ###
...
beads = models.ManyToManyField(Bead, through="BeadSet", blank=True)
...
### CACHING METHODS ###
def get_beadsets(self): # cache beadsets query to _beadsets
try:
_check = self._beadsets
except:
self._beadsets = BeadSet.objects.filter(necklace=self).select_related()
return self._beadsets
def get_beads(self): # cache beads query to _beads
try:
_check = self._beads
except:
self._beads = self.beads.all().select_related()
return self._beads
...
|
More like this
- load m2m fields objects by dirol 3 years ago
- Template filter that divides a list into exact columns by davmuz 1 year, 5 months ago
- Active page class for selected menu items by kunitoki 8 months, 3 weeks ago
- Form rendering using a template instead of builtin HTML by leoh 6 years ago
- Yet another SQL debugging facility by miracle2k 5 years, 10 months ago
Comments
Nice one!
#