          return not self.__eq__(other)
  
      def __init__(self, *args, **kwargs):
          dispatcher.send(signal=signals.pre_init, sender=self.__class__, args=args, kwargs=kwargs)
          # there is a rather weird disparity here; if kwargs, it's set, then args overrides it.
          # should be one or the other, don't duplicate the work
          # the reason for the kwargs check is that standard iterator passes in by args, literally,
          # the row- with this check, instantiation for iteration is 33% faster.
          args_len = len(args)
          if args_len > len(self._meta.fields):
              # daft, but matches old exception sans the err msg.
              raise IndexError("number of args exceeds number of fields")
  
 
</s> remove             # daft, but matches old exception sans the err msg.
            raise IndexError("number of args exceeds number of fields")
 </s> add             # Daft, but matches old exception sans the err msg.
            raise IndexError("Number of args exceeds number of fields") </s> remove             # ordering of the izip calls matter- izip throws StopIteration when an iter throws it
            # meaning, if the first iter throws it, the second is *not* consumed from
            # we rely on this, thus don't change the order without changing the logic.
 </s> add             # The ordering of the izip calls matter - izip throws StopIteration
            # when an iter throws it. So if the first iter throws it, the second
            # is *not* consumed. We rely on this, so don't change the order
            # without changing the logic. </s> remove         # now we're left with the unprocessed fields that *must* come from keywords, or default.
 </s> add         # Now we're left with the unprocessed fields that *must* come from
        # keywords, or default. </s> remove             # slower...
 </s> add             # Slower, kwargs-ready version. </s> remove                         # Object instance was passed in.
                        # Special case: You can pass in "None" for related objects if it's allowed.
 </s> add                         # Object instance was passed in. Special case: You can
                        # pass in "None" for related objects if it's allowed.
        
        # There is a rather weird disparity here; if kwargs, it's set, then args
        # overrides it. It should be one or the other; don't duplicate the work 
        # The reason for the kwargs check is that standard iterator passes in by
        # args, and nstantiation for iteration is 33% faster.
          return not self.__eq__(other)
  
      def __init__(self, *args, **kwargs):
          dispatcher.send(signal=signals.pre_init, sender=self.__class__, args=args, kwargs=kwargs)
        
        # There is a rather weird disparity here; if kwargs, it's set, then args
        # overrides it. It should be one or the other; don't duplicate the work 
        # The reason for the kwargs check is that standard iterator passes in by
        # args, and nstantiation for iteration is 33% faster.
        
        # There is a rather weird disparity here; if kwargs, it's set, then args
        # overrides it. It should be one or the other; don't duplicate the work 
        # The reason for the kwargs check is that standard iterator passes in by
        # args, and nstantiation for iteration is 33% faster.
        
        # There is a rather weird disparity here; if kwargs, it's set, then args
        # overrides it. It should be one or the other; don't duplicate the work 
        # The reason for the kwargs check is that standard iterator passes in by
        # args, and nstantiation for iteration is 33% faster.
        
        # There is a rather weird disparity here; if kwargs, it's set, then args
        # overrides it. It should be one or the other; don't duplicate the work 
        # The reason for the kwargs check is that standard iterator passes in by
        # args, and nstantiation for iteration is 33% faster.
          args_len = len(args)
          if args_len > len(self._meta.fields):
              # daft, but matches old exception sans the err msg.
              raise IndexError("number of args exceeds number of fields")
  
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Cleaned up comments from [4597] to be a bit more clear.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@4598 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/db/models/base.py