Widget ManyToManyField diferente

votos
1

O Widget ManyToManyField Django padrão 1.0.2 (a multi-select) é difícil de usar, quando há um monte de coisas na caixa de seleção. Existe outro widget disponível que dá uma lista separada por vírgulas de id em uma textarea? Se este não estiver disponível o que eu preciso fazer para escrever um, e tê-lo aparecer em ModelForm.as_p () e no site do administrador?

Publicado 19/04/2009 em 13:00
fonte usuário
Em outras línguas...                            


3 respostas

votos
2

Eu acredito que a criação raw_id_fields na ManyToManyField realmente gera um widget TextInput com uma lista separada por vírgulas de IDs. Você pode apenas substituir esse em admin.py, na ModelForm correspondente e forçar um widget TextArea nele.

Respondeu 19/06/2009 em 17:50
fonte usuário

votos
2

Se não houver os widgets existentes que fazer o que quiser (e eu não acho que existem), então você terá que escrever o seu próprio. Infelizmente, a documentação Django não mostrar-lhe como fazer isso, mas não é difícil descobrir por olhar para o código-fonte forms/widgets.pycopiar um widget existente e modificá-lo.

Respondeu 19/04/2009 em 20:57
fonte usuário

votos
1

No Admin Você pode usar filtro horizontal e / ou filtro vertical :

class MyModelAdmin(admin.ModelAdmin):
    filter_horizontal = ['many_to_many_field_name']
    filter_horizontal = ['another_many_to_many_field_name']

doutor

Respondeu 19/04/2009 em 13:29
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more