﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
24858	get_foo_display with the ArrayField	Mounir		"I think using ArrayField as a many choices field would be awesome.
Passing choices to ArrayField works fine with MultipleChoiceField on the form.
But calling get_foo_display return a TypeError: unhashable type: 'list', maybe this method need to check if the field is an ArrayField it can return a string representation of the choices separated by comma.


{{{#!python
class Example(models.Model):
    CHOICES = (
        (1, 'value1'),
        (2, 'value2'),
        (3, 'value3'),
    )

    multi_choices_array = ArrayField(
        base_field=models.IntegerField(),
        choices=CHOICES,
    )

    # Adding this method will show the values
    def multi_choices_array_display(self):
        result = ''
        choices = dict(self.CHOICES)
        for index, value in enumerate(self.multi_choices_array):
            result += ""{0}"".format(choices[value])
            if not index == len(self.multi_choices_array) - 1:
                result += ', '
        return result

example = Example.objects.create(multi_choices_array= [1, 2])
example.get_multi_choices_array_display()
# Will raise a Type Error exception
example.multi_choices_array_display()
# Will print 'value1, value2'

}}}"	Uncategorized	new	contrib.postgres	1.8	Normal				Unreviewed	0	0	0	0	0	0
