All,
  I'm very new to TurboGears, and I was trying this tutorial:
http://aymanh.com/turbogears-tutorial-social-bookmarking-application.
I was able to work though the Wiki20 tutorial, but received this error
with the code from this tutorial(see code below).  I'm sure I've
overlooked something, and would like someone to take a quick look at
this and point me in the right direction. I'm using python 2.4, psycopg
1.1.21, postgresql 8.1, and TurboGears b1.

Thanks!
--Nick
<snip part of error>
psycopg.ProgrammingError: ERROR:  relation "tg_user" does not exist
</end snip>

Code from the model
============================================

from datetime import datetime

from sqlobject import *

from turbogears import identity
from turbogears.database import PackageHub

hub = PackageHub("tglinks")
__connection__ = hub

# class YourDataClass(SQLObject):
#     pass


class Visit(SQLObject):
    class sqlmeta:
        table = "visit"

    visit_key = StringCol(length=40, alternateID=True,
                          alternateMethodName="by_visit_key")
    created = DateTimeCol(default=datetime.now)
    expiry = DateTimeCol()

    def lookup_visit(cls, visit_key):
        try:
            return cls.by_visit_key(visit_key)
        except SQLObjectNotFound:
            return None
    lookup_visit = classmethod(lookup_visit)

class VisitIdentity(SQLObject):
    visit_key = StringCol(length=40, alternateID=True,
                          alternateMethodName="by_visit_key")
    user_id = IntCol()


class Group(SQLObject):
    """
    An ultra-simple group definition.
    """

    # names like "Group", "Order" and "User" are reserved words in SQL
    # so we set the name to something safe for SQL
    class sqlmeta:
        table = "tg_group"

    group_name = UnicodeCol(length=16, alternateID=True,
                            alternateMethodName="by_group_name")
    display_name = UnicodeCol(length=255)
    created = DateTimeCol(default=datetime.now)

    # collection of all users belonging to this group
    users = RelatedJoin("User", intermediateTable="user_group",
                        joinColumn="group_id", otherColumn="user_id")

    # collection of all permissions for this group
    permissions = RelatedJoin("Permission", joinColumn="group_id",
                              intermediateTable="group_permission",
                              otherColumn="permission_id")


class User(SQLObject):

    """
    Reasonably basic User definition. Probably would want additional
attributes.
    """
    # names like "Group", "Order" and "User" are reserved words in SQL
    # so we set the name to something safe for SQL
    class sqlmeta:
        table = "tg_user"

    user_name = UnicodeCol(length=16, alternateID=True,
                           alternateMethodName="by_user_name")
    email_address = UnicodeCol(length=255, alternateID=True,
                               alternateMethodName="by_email_address")
    display_name = UnicodeCol(length=255)
    password = UnicodeCol(length=40)
    created = DateTimeCol(default=datetime.now)

    bookmarks = MultipleJoin('Bookmark', joinColumn='user_id')

    # groups this user belongs to
    groups = RelatedJoin("Group", intermediateTable="user_group",
                         joinColumn="user_id", otherColumn="group_id")

    def _get_permissions(self):
        perms = set()
        for g in self.groups:
            perms = perms | set(g.permissions)
        return perms

    def _set_password(self, cleartext_password):
        "Runs cleartext_password through the hash algorithm before
saving."
        hash = identity.encrypt_password(cleartext_password)
        self._SO_set_password(hash)

    def set_password_raw(self, password):
        "Saves the password as-is to the database."
        self._SO_set_password(password)



class Permission(SQLObject):
    permission_name = UnicodeCol(length=16, alternateID=True,

alternateMethodName="by_permission_name")
    description = UnicodeCol(length=255)

    groups = RelatedJoin("Group",
                        intermediateTable="group_permission",
                         joinColumn="permission_id",
                         otherColumn="group_id")



class Tag(SQLObject):
  name = UnicodeCol(alternateID = True, length = 64)
  bookmarks = RelatedJoin('Bookmark')


class Link(SQLObject):
  url = UnicodeCol(alternateID = True, length = 255)
  bookmarks = MultipleJoin('Bookmark')


class Bookmark(SQLObject):
  user = ForeignKey('User')
  link = ForeignKey('Link')
  tags = RelatedJoin('Tag')
  title = UnicodeCol(length = 64)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---

Reply via email to