Skip to content

Instantly share code, notes, and snippets.

View iMakedonsky's full-sized avatar

Oleksander Mashianov iMakedonsky

View GitHub Profile
@dorosch
dorosch / bulk_get_or_create.py
Created April 13, 2020 07:08
Django bulk get_or_create manager
from django.db import models
class BulkGetOrCreateManager(models.Manager):
def bulk_get_or_create(self, objs, lookup_field=None):
assert lookup_field, "Not set 'lookup_field' for 'bulk_get_or_create'"
lookup = {f'{lookup_field}__in': objs}
existing_objects = [
obj for obj in self.get_queryset().filter(**lookup)
@ohld
ohld / admin.py
Last active November 9, 2020 20:57
Django Admin action with intermediate page example
# your_app/admin.py
# ... imports
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
actions = ['broadcast'] # register method as action
def broadcast(self, request, queryset):
if 'apply' in request.POST: # if user pressed 'apply' on intermediate page
@mathewbyrne
mathewbyrne / slugify.js
Created October 12, 2011 04:34
Javascript Slugify
function slugify(text)
{
return text.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
.replace(/\-\-+/g, '-') // Replace multiple - with single -
.replace(/^-+/, '') // Trim - from start of text
.replace(/-+$/, ''); // Trim - from end of text
}