On Tuesday, 16 August 2011 08:21:24 UTC+1, Mike Dewhirst wrote:
>
> When using save() in a model, what is the difference between ...
>
> save(self, force_insert=False, force_update=False) or
> save(self, force_insert=False, force_update=False, **kwargs)
>      # whatever
>      super(Xyz, self).save(force_insert, force_update) or
>      super(Xyz, self).save(force_insert, force_update, **kwargs)
>
> and
>
> save(self, *arg, **kwargs)
>      # whatever
>      super(Xyz, self).save(*args, **kwargs)
>
> I see the former in a fair bit of django example code around the place 
> and the latter in the docs here
>
>
> https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods
>
> Thanks for any insights
>
> Mike
>

There's no practical difference right now. The main reason for the (*args, 
**kwargs) format is for forwards compatibility: if Django introduces a new 
argument to `save` in future versions, your code might stop working if 
you've hard-coded the function to only pass two parameters.
--
DR.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/zk3ttVQDbSgJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to