Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2014, 13:34
WebDeveloperZ
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 2 meses
Puntos: 4
Agregando atributo class en options de un select (forms.ModelChoiceField + render_opt

Buenas !!!

Estoy tratando de agregar un atributo class para cada option de un select pero no logro conseguirlo ... La idea es que el valor sea el foreign key (provincia_id) de la tabla ciudad ... necesito si o si poner el identificador de la provincia a la que pertenece la ciudad en el atributo class

Lo que tengo de momento:

Código:
class MySelect(forms.Select):
    def render_option(self, selected_choices, option_value, option_label):
        # look at the original for something to start with
        return u'<option value="%s">%s</option>' % (escape(option_value), conditional_escape(force_unicode(option_label)))
Código:
class PublicarForm(ModelForm):

    DIVISAS = (
        ('ARS', 'Pesos'),
        ('USD', 'Dolares'),
    )

    provincia_id = forms.ModelChoiceField(queryset=Provincia.objects.all())
    #ciudad_id = forms.ModelChoiceField(queryset=Ciudad.objects.all())
    valor_tipo = forms.ChoiceField(choices=DIVISAS, initial='ARS')

    ciudad_id = forms.ModelChoiceField(
        queryset = Ciudad.objects.all(),
        widget = MySelect(attrs = {'adasd': 'mydds'})
        #widget = forms.Select(attrs={'class':'regDropDown'})
    )

    class Meta:
        model = Anuncio
        fields = ['titulo','telefono','valor', 'contenido']
Gracias !!!!