python - South unable to create new field because field does not exist -


i'm trying use south add new urlfield model, like:

class document(models.model):     text = models.textfield()     reference_page = models.urlfield(blank=true, null=true)     source_page = models.urlfield(blank=true, null=true) # new field 

however, when run python manage.py schemamigration myapp --auto error:

databaseerror: column myapp_document.source_page not exist line 1: ...ext", "myapp_document"."reference_page", "myapp_doc... 

i'm using postgresql db backend. initialized app south , have run migrations it. i've made sure django , south installs date.

why giving me error now?

edit: oddly, if manually created column in database, schemamigration call succeeds, of course migrate call fails until manually remove column. bizarre.

i have been dealing issue couple months. link shared montiniz in comment on other answer had 0-voted answer resolved issue! i'm posting here else.. build community of knowledge , that.


problem: schemamigration [app] --auto fails complaint missing column (often new field trying migrate schema ...)

in case, complain when modifying workgroup model (a models.py model) not other models.

solution: model has default keyword argument in foreignkey relation references model failing migrate.

workgroup = models.foreignkey('core.workgroup', default=get_default_workgroup, null=true)

if remove default keyword argument, run management command, should succeed. then, add original default argument back.


Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -