Giter VIP home page Giter VIP logo

Comments (2)

ADR-007 avatar ADR-007 commented on July 20, 2024

Hi!
I do it in the next way:

class Frequency(Enum):
    MONTHLY = 'monthly', relativedelta.relativedelta(months=1)
    QUARTERLY = 'quarterly', relativedelta.relativedelta(months=3)

    def __new__(cls, value, duration):
        obj = object.__new__(cls)
        obj._value_ = value
        obj._duration_ = duration
        return obj

    @property
    def duration(self) -> relativedelta.relativedelta:
        return self._duration_


print(Frequency.MONTHLY.value)
print(Frequency.MONTHLY.duration)

from django-enumfields.

akx avatar akx commented on July 20, 2024

Hmm, yeah, this isn't restricted to DRF serialization alone.

Trying

class Frequency(Enum):
    month = timedelta(days=30)
    quarter = timedelta(days=365 // 4)

class Model(...):
    frequency = EnumField(Frequency, default=Frequency.month)

will also lead to all sorts of errors since timedelta()s can't be stuffed into CharFields.

from django-enumfields.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.