Skip to content

Instantly share code, notes, and snippets.

@bmelton
Last active August 29, 2015 13:57
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 bmelton/9716632 to your computer and use it in GitHub Desktop.
Save bmelton/9716632 to your computer and use it in GitHub Desktop.
# Model looks like this:
class Status(models.Model):
user = models.ForeignKey(User)
uuid = models.CharField(max_length=22, null=True, blank=True)
created = models.DateTimeField(null=True, blank=True)
content = models.TextField()
def save(self, *args, **kwargs):
if not self.uuid:
self.uuid = uuid()
if not self.created:
self.created = datetime.now()
return super(Status, self).save(*args, **kwargs)
# Serializer looks like this
class StatusSerializer(serializers.ModelSerializer):
user = serializers.Field(source='user.username')
class Meta:
model = Status
fields = ('user', 'content',)
# Views look like this
class StatusViewSet(viewsets.ModelViewSet):
def pre_save(self, obj):
obj.user = self.request.user
queryset = Status.objects.all()
serializer_class = StatusSerializer
def create(self, request, *args, **kwargs):
serializer = StatusSerializer(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=201)
return Response(serializer.errors, status=400)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment