I've got the models shown at the bottom of this email. I'm having
trouble adding a foreign key reference to a 'BookMark' object I've
created.

I can do this ...

>>> from bookmarks.models import BookMark, User, Tag, Resource
>>> User.objects.all()
[<User: Nixon, Richard>]
>>> b = BookMark(private=False, notes="test notes", 
>>> bookmarked_date=datetime.datetime.now())
>>> u = User.get(1)

... so now I want to add the 'User' to the new BookMark object using a
RelatedManager method but I can't ! Insted this happens ...

>>> b.user_set.add(u)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'BookMark' object has no attribute 'user_set'


I'm clearly doing something wrong - can anyone tell me what ? Model is
below and also, for ease of reading, at http://pastebin.com/t62hh3wU .

from django.db import models
from django.core.validators import URLValidator

from django.db import models

class User(models.Model):
        id = models.AutoField(primary_key=True, db_column='USE_ID')
        name_given = models.CharField(max_length=200,
db_column='USE_NAME_GIVEN')
        name_family = models.CharField(max_length=200,
db_column='USE_NAME_FAMILY')

        def __unicode__(self):
                return u"%s, %s" % (self.name_family, self.name_given)

        class Meta:
                db_table = "BMA_USER"
                unique_together = ("name_given", "name_family")


class Resource(models.Model):
        id = models.AutoField(primary_key=True, db_column='RES_ID')
        url = models.URLField(unique=True, db_column='RES_URL')

        def __unicode__(self):
                return self.url

        class Meta:
                db_table = "BMA_RESOURCE"

class Tag(models.Model):
        id = models.AutoField(primary_key=True, db_column='TAG_ID')
        name = models.CharField(max_length=200, unique=True,
db_column='TAG_NAME')

        def __unicode__(self):
                return self.name

        class Meta:
                db_table = "BMA_TAG"

class BookMark(models.Model):
        id = models.AutoField(primary_key=True, db_column='BMK_ID')

        #Tags appear in many bookmarks,
        #bookmarks in appear in many Tags
        tags = models.ManyToManyField(Tag, db_column='BMK_TAG_ID',
db_table="BMA_BMK_X_TAG")

        #Bookmarks are owned by users
        user = models.ForeignKey(User, db_column='BMK_USE_ID')

        #Bookmarks reference a resource
        #which may be referred to by other
        #bookmarks
        url = models.ForeignKey(Resource, db_column='BMK_RES_ID')

        private = models.BooleanField('is private',
db_column='BMK_IS_PRIVATE')
        notes = models.CharField(max_length=200, blank=True,
db_column='BMK_NOTES')
        bookmarked_date = models.DateTimeField('date saved',
db_column='BMK_DATE_BOOKMARKED')

        def __unicode__(self):
                return self.id

        class Meta:
                db_table = "BMA_BOOKMARK"
                unique_together = ("url", "user")

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to