Hi everyone, I have something that works, but I'm guessing it's *very* inefficient, I'm guessing that nested for-loops for two layers of many to many fields is bad, but how could I go about this better?
The aim is for my admin users to fill in the sub-categories (classes), and for the system to work out which parent categories (disciplines) are involved. I have a separate model for taxonomy, and within my 'categories' models.py I have: class Discipline(models.Model): name = models.CharField(max_length=50) slug = models.SlugField(unique=True) class Class(models.Model): name = models.CharField(max_length=50) slug = models.SlugField(unique=True) parent_discipline = models.ManyToManyField("Discipline") Sorry about using 'Class' as the model name, but unfortunately it's the only thing that makes sense for this categorisation. (E.g. the discipline might be slalom, which has a class of amatuer within it.) This is added to the save method for my Events model: # variable the will be saved in a charfield on the event. disciplines = [] # get the related many to many field which has all the 'classes' classes = self.classes_involved.all() for this_class in classes: parent_disciplines = this_class.parent_discipline.all() for disc in parent_disciplines: disciplines.append(str(disc.name)) this_set = set(disciplines) this_list = list(this_set) self.disciplines = ', '.join(this_list) super(Event, self).save(*args, **kwargs) Any ideas on how I could go about this better? I'd hoped to make things easier with a centrally defined taxonomy, but so far it isn't worked to well. Kind regards, -Alastair
-- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.