Ricardo FrancoPython Development Techdegree Student 14,797 Points
Related 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()
Jennifer NordellTreehouse Staff
Hi, 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.
(('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!