First time here? Check out the FAQ!
1

How can I modify models in askbot?

If I want to add a new element in Class Question(question.py), What should I do?

I have modify askbot/models/question.py like this:

 title    = models.CharField(max_length=300)
 tags     = models.ManyToManyField('Tag', related_name='questions')
 answer_accepted = models.BooleanField(default=False)
 +testestest = models.BooleanField(default=False)
 closed          = models.BooleanField(default=False)

After modify question.py, I delete old database in mysql, run "python manage.py syncdb; python manage.py migrate". Then I check the question table in mysql again, but "testestest" field isn't exist in question table.

iicore's avatar
23
iicore
updated 2011-10-26 03:56:29 -0600, asked 2011-10-26 03:34:03 -0600
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

2 Answers

1

Hello, in this case it will be necessary to use South migrations.

Here is the documentation http://south.aeracode.org/.

First thing, after you change code in the models, make a schema migration:

python manage.py schemamigration askbot --auto

Then apply the migration.

python manage.py migrate askbot

All migrations for askbot live in the directory askbot/migrations - you will need to edit your migration and the subsequent askbot's migration (when we make a new one)

The edit in the migration files is necessary to specify that your migration must run after the last current askbot's migration, and the next askbot's migration must run after yours.

Here is the document explaining how to deal with migration dependencies http://south.aeracode.org/docs/dependencies.html.

South has two types of migrations - schema migrations and data migrations. Schema migrations change the database schema, while data migrations only modify the data.

At Askbot we love South - cheers to the South devs! Definitely check out their django & python hosting service called ep.io it make django deployments real easy.

Evgeny's avatar
13.2k
Evgeny
updated 2011-10-26 09:03:39 -0600, answered 2011-10-26 09:02:33 -0600
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments
0

Thanks, Evgeny, it works!!!

iicore's avatar
23
iicore
answered 2011-10-27 02:52:08 -0600
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments