Yes, my example is not right. Both should be the same! [email protected] schrieb am Donnerstag, 19. August 2021 um 16:59:01 UTC+2:
> 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/80816052-865d-4df1-b6f0-45d69327cb45n%40googlegroups.com.

