I have two models: Feed
and User
A User
can create a Feed
with a POST Method. Other User
s can see this feed, and every time a user sees a feed, the feed object should update and save the user's id in 'seen_by_users'.
class User(models.Model):
registered = models.DateTimeField(auto_now_add=True)
last_login = models.DateTimeField(auto_now=True)
class Feed(models.Model):
owner = models.ForeignKey(User, blank=False, related_name='feed_owner') # required
feed_message = models.CharField(max_length=255, blank=False, default='')
created = models.DateTimeField(auto_now_add=True, blank=False) # required
seen_by_users = models.ForeignKey(User, blank=True, null=True, related_name='seen_by_users')
in serializers I have:
class FeedSerializer(serializers.ModelSerializer):
class Meta:
model = Feed
fields = ('id', 'owner', 'feed_message', 'created', 'seen_by_users')
def create(self, validated_data):
feed = Feed.objects.create(**validated_data)
return feed
def update(self, instance, validated_data):
instance.seen_by_users = validated_data.get('seen_by_users', instance.seen_by_users)
instance.save()
return instance
For now, I can just save one user Id to seen_by_users
but,
how can I change or edit my Model or Serializer to adding an array of users to seen_by_users
. It should work when I updating a Feed
.
I'm using Django 1.7.1 with Django Rest Framework 3.0.