Skip to main content

tools, utilities, etc. we use across projects @ ckc

Project description

django-ckc CKC

tools, utilities , etc. we use across projects @ ckc

installing

pip install django-ckc
# settings.py
INSTALLED_APPS = (
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.staticfiles",

    # ... add ckc
    "ckc",
)

distributing and releasing

# Update version in setup.cfg
./setup.py sdist
twine upload dist/*
# Commit and push the version update in setup.cfg
# Publish vX.X.X release on GitHub with a description.

tests

$ docker build -t django-ckc . && docker run django-ckc pytest

what's in this

SoftDeletableModel

Make your models have a deleted bool set when they are deleted instead of actuallying being deleted. Uses a model manager SoftDeleteModelManager to keep them hidden.

DefaultUserCreateMixin for ModelSerializers

This will automatically set YourModel.created_by to request.user. To override which attribute the user is written to, add a user_field to your classes Meta information

class YourModel(models.Model):
    created_by = models.ForeignKey(User, on_delete=models.CASCADE)
        

class MySerializer(DefaultUserCreateMixin, ModelSerializer):
    class Meta:
        model = YourModel

DjangoGeoPointProvider

Helps generate geo points in Factory Boy factories.

# factories.py
class SomeLocationFactory(DjangoModelFactory):
    location = factory.Faker('geo_point', country_code='US')

    class Meta:
        model = SomeLocation

# test_whatever.py
from django.contrib.gis.geos import Point


class WhateverTest(TestCase):
    def test_something(self):
        SomeLocationFactory()  # random location
        SomeLocationFactory(location=Point(x=60, y=60))  # specified location

./manage.py commands

command description
upload_file <source> <destination> uses django-storages settings to upload a file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-ckc-0.0.7.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

django_ckc-0.0.7-py3-none-any.whl (12.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page