[pyar] [django] request en modelform

Claudio Omar Melendrez Baeza claudio.melendrez en gmail.com
Mie Sep 10 10:26:00 ART 2014


class MiModeloAdmin(admin.ModelAdmin):
    def add_view(self, request, form_url='', extra_context=None):
        self.form = MiModeloForm

Estas haciendo eso o era solo un ejemplo de algo que intentaste? No
deberias tener que tocar add_view. Es solo poner el form como atributo de
la clase admin, nada mas.

Aclaro por las dudas, no me quedo claro que es exactamente que intentaste.

On 10 September 2014 08:50, Daniel <dmlistapython en gmail.com> wrote:

>
>
> El 8 de septiembre de 2014, 20:25, Claudio Omar Melendrez Baeza <
> claudio.melendrez en gmail.com> escribió:
>
>> Fijate que ModelAdmin.add_view por default inicializa "su form" pasando
>> "request", asi:
>> ModelForm = self.get_form(request)
>>
>> Ese form vos lo podes setear haciendo esto:
>> class MiModeloAdmin(admin.ModelAdmin):
>>     form = MiModeloForm
>>
>> O sea que con hacer un override del constructor del form ya estarias
>> hecho, porque al recibir request podes sacar el user facilmente:
>> def __init__(self, request, *args, **kwargs):
>>     super(MiModeloForm).__init__(*args, **kwargs)
>>     self.user = self.request.user
>>
>>
>> No lo puedo hacer andar de esa manera.
>
> en el form.py
>   def __init__(self, *args, **kwargs):
>         super(ChequeForm, self).__init__(*args, **kwargs)
>         print(self.request.user)
>
> y obtengo:
>
> 'ChequeForm' object has no attribute 'request'
>
> y si hago un dir de self obtengo esto:
> ['Meta', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_changed_data', '_clean_fields', '_clean_form', '_errors', '_get_validation_exclusions', '_html_output', '_meta', '_post_clean', '_raw_value', '_update_errors', '_validate_unique', 'add_initial_prefix', 'add_prefix', 'as_p', 'as_table', 'as_ul', 'auto_id', 'base_fields', 'changed_data', 'clean', 'data', 'declared_fields', 'empty_permitted', 'error_class', 'errors', 'fields', 'files', 'full_clean', 'has_changed', 'hidden_fields', 'initial', 'instance', 'is_bound', 'is_multipart', 'is_valid', 'label_suffix', 'media', 'non_field_errors', 'prefix', 'save', 'validate_unique', 'visible_fields']
>
> sino, ¿puedo hacer que el form no intente grabar los datos y delegue esa función en el modelAdmin?
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140910/d8e62291/attachment-0001.html>


More information about the pyar mailing list