python - Django foreign key as dropdown choice with optgroups -


i have following django models:

class basemodel(models.model):     uuid = uuidfield()     created = models.datetimefield(auto_now_add=true, null=true)     modified = models.datetimefield(auto_now=true, null=true)      class meta:         abstract = true  class company(basemodel):     title = models.charfield(_(u'title'), max_length=128)  class profile(basemodel):     company = models.foreignkey(company, verbose_name='company')     user = models.onetoonefield(user, verbose_name='user', null=true, blank=true)  class servicecategory(basemodel):     company = models.foreignkey(company)     title = models.charfield(_(u'title'), max_length=64)  class service(basemodel):     category = models.foreignkey(servicecategory)     title = models.charfield(_(u'title'), max_length=64) 

as can see, each servicecategory has company foreign key. company used group users (each user have one2one relation profile, company foreign key profile.

anyway, need form field dropdown show available services in company grouped (using optgroup) categories (categories not selectable), like:

category1

  • service1
  • service2
  • service3

category2

  • service4
  • service5

any suggestions how achieve this?

dj form support optgroup, need provide form field custom formatted choice list.

# in form init def __init__(self, *args, **kwargs):     super().__init__(*args, **kwargs)      # need manual format queryset in format     service_choices = (      ('cat1', (        ('service1_id', 'service1'),        ('service2_id', 'service2'),      ),      ('cat2', (        ('service3_id', 'service3'),        ('service4_id', 'service4'),      ),     )  self.fields['your_service_field'].choices = service_choices 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -