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.

Reply via email to