I am building an activity model, somewhat similar to this package. It has 
an actor, verb and the target.


class Activity(models.Model):
    actor_type = models.ForeignKey(ContentType, related_name=
'actor_type_activities')
    actor_id = models.PositiveIntegerField()
    actor = GenericForeignKey('actor_type', 'actor_id')
    verb = models.CharField(max_length=10)
    target_type = models.ForeignKey(ContentType, related_name=
'target_type_activities')
    target_id = models.PositiveIntegerField()
    target = GenericForeignKey('target_type', 'target_id')
    pub_date = models.DateTimeField(default=timezone.now)



Now whenever a new object of whichever models (Tender, Job and News) is 
created, a new Activity object is created, with the target being the 
objects of any of these three models.

eg. user (actor) published (verb) title (target)


class Job(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=150)
    qualification = models.CharField(max_length=100)
    comments = GenericRelation(Comment)
    activity = GenericRelation(Activity)

class News(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=150)
    body = models.TextField()
    article_image = models.ImageField(upload_to=get_upload_file_name, blank=
True)
    tags = models.ManyToManyField(Tag)
    comments = GenericRelation(Comment)
    activity = GenericRelation(Activity)

class Tender(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=150)
    description = models.TextField()
    comments = GenericRelation(Comment)
    activity = GenericRelation(Activity)



To get this data I am making an API which will get me the required json 
data. Now using django-rest-framework


class ActivitySerializer(serializers.RelatedField):
    def to_representation(self, value):
        if isinstance(value, User):
            return 'Bookmark: ' + value.username
        elif isinstance(value, News):
            return 'Bookmark: ' + value.title
        elif isinstance(value, Job):
            return 'Note: ' + value.title
        elif isinstance(value, Tender):
            return 'Bookmark: ' + value.title
        raise Exception('Unexpected type of tagged object')


But now I am getting this error:

*TypeError at /postactivities/*


> init() takes exactly 1 argument (3 given)
>

How can I solve this problem? Your help and guidance is very much 
appreciated.


Thank you.

-- 
You received this message because you are subscribed to the Google Groups 
"Django REST framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to