Hi William, Thanks for the information!
Regards, 2014-12-23 8:33 GMT+00:00 William Chen <[email protected]>: > Hi Chris, I had the same problem and found this thread when I was > searching for a solution. > > The solution is to simply create 1 or more comments using app admin. > > If table B references table A, then you need populate to populate table A > before you populate table B, else there will be an error. In our case, the > table comm references to itself in this line: > Field('parent_comm', 'reference comm') > > So we need to manually add new comments, before we populate the table > comm. > > Hope this helps. > > > On Wednesday, 28 May 2014 23:05:06 UTC+8, Chris Simpson wrote: >> >> >> Hi Uri, >> >> Did you ever find a solution to this? >> On Wednesday, May 14, 2014 12:01:29 PM UTC+2, Uri Tamir wrote: >>> >>> Hi all, >>> I've been following Massimo's video tutorials >>> <http://vimeo.com/76047107> (which are *great!* thanks Massimo) >>> >>> when trying to build the reddit clone and populate it i get a ticket >>> - <class 'sqlite3.IntegrityError'> foreign key constraint failed >>> >>> the database was populated with users and posts but not with comments. I >>> tried to make sure my code is exactly as the code Massimo showed but /w no >>> success. >>> >>> any suggestions? >>> >>> db.define_table('category', >>> Field('name', requires = (IS_SLUG(), IS_LOWER(), >>> IS_NOT_IN_DB(db, 'category.name')))) >>> >>> db.define_table('post', >>> Field('category', 'reference category', readable=False, >>> writable=False), >>> Field('title', 'string', requires=IS_NOT_EMPTY()), >>> Field('url', requires=IS_EMPTY_OR(IS_URL())), >>> Field('body', 'text', requires=IS_NOT_EMPTY()), >>> Field('votes', 'integer', default=0, readable=False, >>> writable=False), >>> auth.signature) # created_on, created_by, modified_on, >>> modified_by, is_active >>> >>> db.define_table('post_vote', >>> Field('post', 'reference post'), >>> Field('score', 'integer', default=+1), # numerical >>> representation of votes >>> auth.signature) >>> >>> db.define_table('comm', >>> Field('post', 'reference post'), >>> Field('parent_comm', 'reference comm'), >>> Field('votes', 'integer'), >>> Field('body', 'text'), >>> auth.signature) >>> >>> db.define_table('comm_vote', >>> Field('comm', 'reference comm'), >>> Field('score', 'integer', default=+1), # numerical >>> representation of votes >>> auth.signature) >>> >>> from gluon.contrib.populate import populate >>> if db(db.auth_user).count()<2: >>> populate(db.auth_user, 100) >>> db.commit() >>> if db(db.post).count()<2: >>> populate(db.post, 500) >>> db.commit() >>> if db(db.comm).count()<2: >>> populate(db.comm, 1000) >>> db.commit() >>> >>> >>> -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/9L1Ycuw7ZPo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

