What i would like:
1. have 1 simple way to run in 3 modes: localhost, cloud production, on-premises (I modified cookiecutter to have a production-cloud.conf, a production-onpremises.conf, and a local.conf
3. easy way to use celery (i paid someone to help me setup)
4. easy way to use channels ( about to pay someone to help me)
For production, I use `npm run install` and `collectstatic`
6. easy way to use ssl (cloudflare/letsencrypt i use cloudflare)
will add more later. To be continued
9. default to use strings when call other models as foreign keys to reduce circular imports
`product = models.ForeignKey("products.Product", on_delete=models.CASCADE)`
instead of
10. easy way to use soft delete (I use model_utils)
11. easy way to use timestamped model (I use model_utils)
12. easy way to setup a created_by_id, modified_by_id (i write my own called personstamped)
14. easy way to use activate (I use from django_extensions.db.models import ActivatorModel)
15. default way to import data from excel sheets (I use pandas and openpyxl as a mixture)
17. easy default way to write code that generates email (1 eg for text email, 1 for html email 1 for attachment)
19. easy way to setup static files (1 for on prem served via nginx, 1 for using cloud CDN, 1 for localhost)
```
class OrganizationOwnedMixin:
@cached_property
def organization(self):
return Organization.objects.get_organization(self.context["request"])
```
`
class OrganizationQuerySet(models.QuerySet):
def get_organization(self, request):
return self.filter(domains__name=hostname_from_request(request)).first()
`
by reports I mean just a giant excel table that contains columns with custom header names but the data inside is a data column from my postgres
I have my way but twitter not suitable for me to sahre the code
23. the opposite of 22
in terms of UI i use handsontable the mapping part is another gnarly ball of code not easy to share on twitter. maybe next time
Yet.
I will get there someday.
25. default to use multiserializer in DRF because sometimes u want list serializer and retrieve serializer to fetch different fields
I use the code from stackoverflow.com/a/22922156/803…
See docs.djangoproject.com/en/1.11/ref/co… for details
I made this mistake for months before realizing it
30. default to use pactman for consumer driven contract (because trending towards microservices and API first world and e2e tests are slower) github.com/reecetech/pact…