Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialRicardo Franco
Data Analysis Techdegree Student 16,258 PointsRelated User Task 4 of 4
Can somebody please nudge me in the right direction on the last task of this code challenge? I know I am very close and I feel it is simply a syntax error. Thanks in advance.
import datetime
from flask.ext.bcrypt import generate_password_hash
from flask.ext.login import UserMixin
from peewee import *
DATABASE = SqliteDatabase(':memory:')
class User(UserMixin, Model):
email = CharField(unique=True)
password = CharField(max_length=100)
join_date = DateTimeField(default=datetime.datetime.now)
bio = CharField(default='')
class Meta:
database = DATABASE
@classmethod
def new(cls, email, password):
cls.create(
email=email,
password=generate_password_hash(password)
)
class LunchOrder(Model):
order = TextField()
date = DateField()
user = ForeignKeyField(User, related_name="orders")
class Relationship(Model):
from_user = ForeignKeyField(User, related_name='relationships')
to_user = ForeignKeyField(User, related_name='related_to')
created_at = DateTimeField(default=datetime.datetime.now)
class Meta:
database = DATABASE
indexes = (
(('from_user', 'to_user'), True)
)
def initialize():
DATABASE.connect()
DATABASE.create_tables([User, LunchOrder, Relationship], safe=True)
DATABASE.close()
1 Answer
Jennifer Nordell
Treehouse TeacherHi, Ricardo Franco! The problem with this is a syntax error arguably. In some versions of Python, a tuple must contain an ending comma. Some do not require it. The challenge checker is using a version that does require that extra comma. So, essentially, you're missing a single comma.
You wrote:
(('from_user', 'to_user'), True)
But it needs one more comma on the end:
(('from_user', 'to_user'), True), # comma on the end here
Hope this helps!
Ricardo Franco
Data Analysis Techdegree Student 16,258 PointsRicardo Franco
Data Analysis Techdegree Student 16,258 PointsThank you, Jennifer...my mistake...I do remember Kenneth mentioning this in a prior video...brain fart