I noticed that subassembly 6 has different components in use. Is that what you want.
On Wed, Aug 18, 2021, 10:57 AM M. GW <[email protected]> wrote: > Hi, > > I am now trying, for days, to get a tree like view from my assembly model > into my template. I think I have read everything what I have found on > StackOverflow and other sites. Somehow I am not able to get it working. I > am trying to not use any 3rd party extensions => I'm happy to be proven > wrong. But first let me explain my topic: > > This are my models: > > class Assembly(models.Model): > reference = models.OneToOneField('products.Reference', > on_delete=models.RESTRICT, verbose_name=_('reference')) > subassembly = models.ManyToManyField(SubAssembly, blank=True, > verbose_name=_('subassembly')) > component = models.ManyToManyField(Component, blank=True, > verbose_name=_('component')) > > class SubAssembly(models.Model): > reference = models.CharField(max_length=40, default=None) > subassembly_class = models.ForeignKey(SubAssemblyClass, > on_delete=models.CASCADE) > nested_subassembly = models.ManyToManyField( > 'self', symmetrical=False, blank=True) > > class SubAssemblyClass(models.Model): > name = models.CharField(max_length=255) > > class Component(models.Model): > reference = models.CharField(max_length=40, unique=True) > component_class = models.ForeignKey(ComponentClass, > on_delete=models.CASCADE) > nested_component = models.ManyToManyField('self', blank=True') > > class ComponentClass(models.Model): > name = models.CharField(max_length=255, unique=True) > > > For my view I am using the class based one. I am generally using CBV's > > class AssemblyDetailView(LoginRequiredMixin, DetailView): > model = Assembly > template_name = "engineering/assembly/assembly_detail.html" > > Now I want in my template all children of subassembly and component from > one assembly like this: > > assembly1 > * subassembly1 > * subassembly5 > * component5 > * component7 > * component8 > * subassembly6 > * component7 > * component8 > * component1 > * component2 > * subassembly2 > * component3 > * subassembly3 > * subassembly6 > * component1 > * component2 > * component1 > * component3 > > The depth can be infinity but for now there will be only 3-5 levels. I > don’t care if it will be Depth-first-search or Breadth-first-search. I read > a lot about recursive common table expressions and raw queries. I haven’t > found a way to code the logic with my complicated ManyToMany fields. > > I hope there is someone out there who can help me out. Maybe I have build > up the models in a wrong way and that’s causing the problems why I am not > able to solve it or or something else. > > Thank you for your help! > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/95ef56a4-6fc5-4cdd-9d4a-9090e364a308n%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/95ef56a4-6fc5-4cdd-9d4a-9090e364a308n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2BkREvqWRkS4hyukKKyo%2BEyHEydsUh0rFL-uPvGWkL6M3so0Aw%40mail.gmail.com.

