A reuseable Django application for coupon gereration and handling
The project is inherited from byteweaver/django-coupons. But the origin project doesn't support the django 2.0 version. There are many django2.0 PR in origin project, but none of them are merged.
So I create a new repository and upload it to pypi as django2-coupons
.
-
Install
django-coupons
via pip:$ pip install django2-coupons
-
Add
'coupons'
toINSTALLED_APPS
insettings.py
. -
Migrate database:
$ python manage.py migrate
Since the django require on_delete
parameter for ForeignKey, The previous migrations
is nolong usable. If you are upgrading the django-coupons, please fake the first migrations. Then you can migrate the rest migrations. If there is any problem, maybe you will have to manually modify the django migrations table.
python3 manage.py migrate --fake coupons 0001
python3 manage.py migrate coupons
This application supports different kind of coupons in the way how they can be redeemed. The difference is defined by the number of possible redeems and if they are bound to a specific user (may even be a list of users) or not.
- single time (default), coupon can be used one time without being bound to an user.
- user limited, coupon can be used one time but only by a specific user.
- limit number, coupon can be used a limited number of times, by any user once.
- users list, coupon can be used by a defined list of users, each once.
- unlimited, coupon can be used unlimited times, but only once by the same user.
for the safety of the coupons, the project only include the list or retrieve api, the the author can only get the coupons that belong to him/her self.
- get the coupons the use has gotten, you can add some filter params to it.