Just facing the same problem with you bro, and i ended up with proxy model and using django-treebeard for the data hierarchy...
On Thu, 11 Mar 2021 at 17.47 Kunal Solanke <[email protected]> wrote: > Btw parts should be a m2m field ig. > > On Thu, Mar 11, 2021, 16:14 Kunal Solanke <[email protected]> > wrote: > >> That's too hard of a problem statement for me,ig more experienced people >> will be able to answer it more properly. But if its 99.99% I'd go with >> whatever you have right now, rather than creating bunch or proxy models. >> >> On Thu, Mar 11, 2021, 16:06 Mateusz Wroblewski <[email protected]> wrote: >> >>> Hi All, >>> >>> does anybody have experience with the following data model and could >>> advise which Django tools fit it best? >>> >>> Background: >>> I have two types of Components (Core and Complex) that share many >>> attributes and methods, but also have their own, specific data fields and >>> methods. >>> >>> What complicates the design is the fact, that ComplexComponent might >>> have CoreComponents assigned to it. A CoreComponent instance might be a >>> "self-standing" entity without any relation to ComplexComponent, but there >>> are also CoreComponents created only for the purpose of "building" >>> ComplexComponents. >>> ComplexComponent (although complex :) ) might (or might not) use >>> CoreComponents in its structure ("complexity" comes then from a different, >>> unrelated feature). >>> >>> 99.99% of the time I need to be able to handle instances of >>> CoreComponent (self-standing entities) and instances of ComplexComponent >>> (with their linked core components) separately in different views/areas of >>> my application, however I can envision some special use cases where I would >>> need to use aggregation on both types to return data for some dash board >>> type of views (e.g. average cost of all components created this year). >>> Also, when a ComplexComponent is handled/displayed in the view, I need >>> to be able to access CoreComponents that "compose" it (if applicable). >>> >>> I'm trying to figure out what Django tools to use for modelling this >>> setup and would be thankful to hear your take on that problem. >>> >>> My current setup uses base Component concrete model and >>> CoreComponent/ComplexComponent deriving from it (and also being concrete >>> models). >>> I end up with three different tables. Having core components and complex >>> components in separate tables seemed right initially, but I know this >>> approach might be difficult to handle down the road, so I'm thinking about >>> restructuring it and using e.g. Proxy models instead? If I rebuild these >>> models now, I would prefer to do it "right". >>> >>> Does anybody have experience with a similar (the same?) design and could >>> advise what would be the best tool in Django to implement this? >>> >>> Below a simplified view of the classes in scope (only for demonstration >>> purpose). >>> >>> Many thanks for any feedback. >>> >>> Have a nice day! >>> >>> -- >>> 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/36e6d27b-fd5d-4891-b999-0863a81ade85n%40googlegroups.com >>> <https://groups.google.com/d/msgid/django-users/36e6d27b-fd5d-4891-b999-0863a81ade85n%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/CAOecAnwV_Zi3%3DdrUnUkChszUHktP13GO3fKkso1EA3QGjDKvjw%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAOecAnwV_Zi3%3DdrUnUkChszUHktP13GO3fKkso1EA3QGjDKvjw%40mail.gmail.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/CAJepfJXh0gdJF_OnQy0d5nEm89b7FLo%2BTy6-sK8U_f1x8kbFtw%40mail.gmail.com.

