Skip to content

Instantly share code, notes, and snippets.

View abirafdirp's full-sized avatar

Abirafdi Raditya Putra abirafdirp

View GitHub Profile
@abirafdirp
abirafdirp / models.py
Last active September 20, 2017 06:24
My implementation of tree structure in Django models
import logging
import os
from django.db import models
from django.utils import timezone
from autoslug import AutoSlugField
from ckeditor.fields import RichTextField
from positions.fields import PositionField
from slugify import slugify
from django.db import models
class S3PrivateFileField(models.FileField):
"""
Using this for local storage is also viable since it's only an
instance attribute, which is not used in local storage.
"""
def __init__(self, verbose_name=None, name=None, upload_to='',
storage=None, **kwargs):
@abirafdirp
abirafdirp / serializers.py
Last active June 22, 2022 03:10
Serialize tree model structure in DRF
from rest_framework import serializers
from .models import ClonedTopic, Topic, Note, ExternalDocument
# The reason Create and List is separated is that,
# if we specify depth, then somehow some of the fields are disabled/not,
# available when we do a POST, so we can't essentialy create an object!
# This issue is reproduceable you can test it for yourself,
# but as for the reason why, I am not investigate it yet.
# A separate serializer without depth is needed for CreateView.