Django

Code

Changeset 4042

Show
Ignore:
Timestamp:
11/06/06 22:50:13 (2 years ago)
Author:
jacob
Message:

Fixed #2701: Added "fields" argument to serializers.serialize. Thanks, Deryck.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/core/serializers/base.py

    r3687 r4042  
    2929 
    3030        self.stream = options.get("stream", StringIO()) 
     31        self.selected_fields = options.get("fields") 
    3132 
    3233        self.start_serialization() 
     
    3738                    continue 
    3839                elif field.rel is None: 
    39                     self.handle_field(obj, field) 
     40                    if self.selected_fields is None or field.attname in self.selected_fields: 
     41                        self.handle_field(obj, field) 
    4042                else: 
    41                     self.handle_fk_field(obj, field) 
     43                    if self.selected_fields is None or field.attname[:-3] in self.selected_fields: 
     44                        self.handle_fk_field(obj, field) 
    4245            for field in obj._meta.many_to_many: 
    43                 self.handle_m2m_field(obj, field) 
     46                if self.selected_fields is None or field.attname in self.selected_fields: 
     47                    self.handle_m2m_field(obj, field) 
    4448            self.end_object(obj) 
    4549        self.end_serialization()