On 27/11/2018 3:57 PM, shiva kumar wrote:
Can you explain what ur problem briefly.
In the Admin I show a list of substance names and against each one there can be a list of clickable links to public chemical databases. When the user clicks one of those links the database opens in a new browser page with that substance showing. The user may then browse that public database for info on that substance.

Currently we have hard-coded three of 14 or 15 different public chemical databases. Different users have different preferences so I want to allow them to select their preferred one or two in their company profile and tweak the Admin to check the profile and display those instead of the hard-coded three.

Since sending that earlier email I have adjust the field type to ListField (import CharField as ListField) so that I know there is only one field in the entire project which is a ListField. This is for CSS and formfield_overrides.


On Tue 27 Nov, 2018 8:54 am Mike Dewhirst <mi...@dewhirst.com.au <mailto:mi...@dewhirst.com.au> wrote:

    In the Admin I would like to provide the user with checkboxes
    against a list of options not stored in the database.

    Specifically, I want to retrieve a comma separated list of
    integers from a model field choices attribute. The model field
    looks like this:

        menu_links = models.CharField(max_length=LARGE, blank=True,
            choices=MENU_LINKS,         default='',        
    validators=[int_list_validator],         verbose_name='Menu data
    links',         help_text="These selections control which URLs are
    displayed in the " "'Substances and mixtures' menu",     )

    I'm seeing two problems.

    One is getting such a widget to appear in an admin.StackedInline
    class.

    Two is creating the data in the above models.CharField from
    choices=MENU_LINKS

    Here it is ...

    MENU_LINKS = [     (1, "ChemIDplus"),     (2, "ChemSpider"),    
    (3, "NIST Webbook"), ]


    In the admin I have tried

    class
    ProfileFilteredSelectMultiple(admin.widgets.FilteredSelectMultiple):

        def __init__(self, verbose_name='Menu links',
    is_stacked=False, *args, **kwargs):         args +=
    (verbose_name,)         args += (is_stacked,)        
    super(ProfileFilteredSelectMultiple, self).__init__(*args, **kwargs)


    Then in the nested StackedInline class ...

        class CompanyProfileInline(admin.StackedInline):

            model = CompanyProfile         formfield_overrides = {
                CharField: {'widget': ProfileFilteredSelectMultiple},
            }         readonly_fields = (('modified', 'modified_by',))
            fieldsets = (             ('More detail for company
    profile', {                 'classes': ('collapse', 'wider'),
                    'fields': (                      'menu_links',
                         ...

    Any hints or pointers will be appreciated.

    Thanks

    Mike

-- 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
    <mailto:django-users+unsubscr...@googlegroups.com>.
    To post to this group, send email to django-users@googlegroups.com
    <mailto:django-users@googlegroups.com>.
    Visit this group at https://groups.google.com/group/django-users.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/django-users/a49d990e-67fc-3327-4205-a3b843f7f7ae%40dewhirst.com.au
    
<https://groups.google.com/d/msgid/django-users/a49d990e-67fc-3327-4205-a3b843f7f7ae%40dewhirst.com.au?utm_medium=email&utm_source=footer>.
    For more options, visit https://groups.google.com/d/optout.

--
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 <mailto:django-users+unsubscr...@googlegroups.com>. To post to this group, send email to django-users@googlegroups.com <mailto:django-users@googlegroups.com>.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAMsYeuE%3Dcxh-AC3e%2BZ9z57TEPMqbGO5CfohyVxuQSFyzJML0zw%40mail.gmail.com <https://groups.google.com/d/msgid/django-users/CAMsYeuE%3Dcxh-AC3e%2BZ9z57TEPMqbGO5CfohyVxuQSFyzJML0zw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
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 post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/2e7648dd-54c6-9ad1-6677-3a7243a6edf5%40dewhirst.com.au.
For more options, visit https://groups.google.com/d/optout.

Reply via email to