Previously, the 'key' kwarg was not respected and all products would get
added to the first wishlist.
Thanks to @DanielChu for reporting, and supplying a fix.
Fixes #1216
Allow explicitly setting slug field even if saving for first time
E.g. Modelname.objects.create(slug='123', name='hi') would otherwise not
work, as add was True (first time save) and AutoSlugField's logic would
just create a slug from the name. It now checks if the slug field is set
already, and if it is, just returns the set slug.
It is important to note that explicitly specifying a slug does skip the
uniqueness validation.
A lot of Oscar's models have slugs that are populated from other fields
in the respective save() methods.
But currently there's no logic to check for duplicate slugs.
AutoSlugField does both the population and ensures uniqueness.