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 <crypt...@gmail.com> 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 django-users+unsubscr...@googlegroups.com.
> 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 django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CA%2BkREvqWRkS4hyukKKyo%2BEyHEydsUh0rFL-uPvGWkL6M3so0Aw%40mail.gmail.com.

Reply via email to