On Wed, Aug 17, 2011 at 8:54 AM, andrepar <[email protected]> wrote:
> How can apply DRY to the following lines?
>
> def formfield_for_foreignkey(self, db_field, request, **kwargs):
>        if db_field.name == "field1":
>            kwargs["queryset"] =
> Field1.objects.filter(owner=request.user)
>            return super(MyModelAdmin,
> self).formfield_for_foreignkey(db_field, request, **kwargs)
>        if db_field.name == "field2":
>            kwargs["queryset"] =
> Field2.objects.filter(owner=request.user)
>            return super(MyModelAdmin,
> self).formfield_for_foreignkey(db_field, request, **kwargs)
>
>        ...
>
> Andrea
>

Use a factory:

def formfield_for_foreignkey(self, db_field, request, **kwargs):
    factory = {
        'field1': Field1.objects,
        'field2': Field2.objects,
    }
    kwargs['queryset'] = factory[db_field.name].filter(owner=request.user)
    return super(MyModelAdmin,
self).formfield_for_foreignkey(db_field, request, **kwargs)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to