From ddf84f22c6fdd19c6ab1c3c35a48f4a0cea011a9 Mon Sep 17 00:00:00 2001 From: Leif Johansson Date: Tue, 8 May 2012 13:38:39 +0200 Subject: scim --- coip/apps/link/models.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'coip/apps/link/models.py') 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 -- cgit v1.1