diff options
author | Leif Johansson <leifj@sunet.se> | 2012-05-08 13:38:39 +0200 |
---|---|---|
committer | Leif Johansson <leifj@sunet.se> | 2012-05-08 13:38:39 +0200 |
commit | ddf84f22c6fdd19c6ab1c3c35a48f4a0cea011a9 (patch) | |
tree | b5afc87d948f2213a42294dc35a31b9cccb7208f /coip/apps/link/models.py | |
parent | 0f0aad4b5114e784cd8f56d98226dcfef8badc15 (diff) |
scim
Diffstat (limited to 'coip/apps/link/models.py')
-rw-r--r-- | coip/apps/link/models.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/coip/apps/link/models.py b/coip/apps/link/models.py index ada194d..b81215d 100644 --- a/coip/apps/link/models.py +++ b/coip/apps/link/models.py @@ -5,14 +5,27 @@ Created on Aug 4, 2010 ''' from django.db import models from coip.apps.name.models import Name +from django.contrib.contenttypes import generic +from django.contrib.contenttypes.models import ContentType class Link(models.Model): - name = models.ForeignKey(Name,related_name='links') + content_type = models.ForeignKey(ContentType) + object_id = models.PositiveIntegerField() + content_object = generic.GenericForeignKey('content_type', 'object_id') url = models.CharField(max_length=255) tag = models.CharField(max_length=255) text = models.CharField(max_length=255) timecreated = models.DateTimeField(auto_now_add=True) lastupdated = models.DateTimeField(auto_now=True) + class Meta: + unique_together = ('content_type','content_id','url','tag') + def __unicode__(self): - return "%s:%s (%s) on %s" % (self.tag,self.url,self.text,self.name)
\ No newline at end of file + return "%s:%s (%s) on %s" % (self.tag,self.url,self.text,self.name) + + +def add_link(o,url,tag,text): + typ = ContentType.objects.get_for_model(o) + r,cr = Link.objects.get_or_create(object_id=o.id,content_type=typ,url=url,tag=tag) + return r
\ No newline at end of file |