Skip to content

Instantly share code, notes, and snippets.

@brettinternet
Created November 27, 2017 21:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brettinternet/01e386b5073503b361d662d284a9e9d7 to your computer and use it in GitHub Desktop.
Save brettinternet/01e386b5073503b361d662d284a9e9d7 to your computer and use it in GitHub Desktop.

Static fields (as class properties)

class UserSerializer(serializers.Serializer):
  email = serializers.EmailField()
  name = serializers.CharField()

Dynamic fields (overriding fields property)

class UserSerializer(serializers.Serializer):
  
  @property
  def fields(self):
    fields = get_fields(self)
    
  def get_fields(self):
    if self.instance:
      # ... figure out how to get the fields here
    else:
      # good luck trying to fetch the fields!
      
    return {
      "email": serializers.EmailField(),
      "name": serializers.CharField()
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment