Hello,

First, I apologize for posting on Django Developers but I asked on Django 
Users, Django IRC, stackoverflow (in multiple ways/times) and I'm blocked 
for more than 2 weeks. 

I think the question, is too advanced for the other  forums/groups and hope 
someone here can help me.


I have two models Category and Products.


   - a Product can have multiple Categories 
   - a Category can have multiple Products.
   - Categories have a circular Foreign key, to itself.
   - not all Categories have the same depth level


Example:

    Category A
        - Category A_1
        - category A_2
            - Category A_2_1
    Category B
    Category C
        - Category C_1


        class Product:
            categories = models.ManyToManyField(
Category)
            name = models.CharField(max_length=255)
        
        class Category:
            categories = models.ForeignKey(self)
            name = models.CharField(max_length=255)
    
    As Form I use a ModelForm:
    
        class ProductForm(ModelForm):
    
                class Meta:
                    model = Product
                    fields = ['categories', 'name', 'short_description', 
'description']
                    widgets = {
                        'categories': MyWidget,
                    }

*What I want to achieve:*

I want to implement a conditional select (narrow options):


   1. Only top parent Categories(level 0 A,B,C) are available
   2. The user select a parent Category.  If the parent has children a new 
   Select box appear with his children(category level 1 A1,C1) 
   3. The user select a level 1 Category (A1,C1). If the parent has 
   children a new Select box appear with his children(level 2 A2)



   - The process is repeated until no children are availavable(recursive), 
   an user select the "smallest" category in the tree
   -  A new button is available for the user to add more categories and 
   start the 1-3 process again
   - I want to do the select,add new select using JavaScript
   - On Form Submit I want to send only the last children categories



Options I thought:


   1. Change the ManyToMany coresponding default Fields - looks like there 
   are no good hooks and/or inheritance
   2. Use a non-default custom Field instean of ManytoMany(like Charfield) 
   - more complex on clean,saving Form
   3. Change/Inherit the SelectMultiple Widget. My issues is how to send 
   the data to the default Field on submit, and get/show it on edit 

 
I need some help as code and indication how to do this.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/4b1b2a64-276e-462e-ac05-043663f1d370%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to