(sorry for duplicate I have already posted on stackoverflow.com > http://goo.gl/I7Jj6 )
I need to perform a datamigration of a model Answer in app Question. In that script there is a dependency such that I need to create an instance of a model Chapter which is in the app Journal. So, I coded it as follows: def forwards(self, orm): for answer_object in orm.Answer.objects.all(): #This Works. blog, is_created = orm['blog.Post'].objects.get_or_create(title=answer_object.answer[: 100]) blog.save() #This DOES NOT work chapter, is_created = orm['journal.Chapter'].objects.get_or_create(content_object=blog) chapter.save() #cleanup task, not relevant to this question below answer_object.chapter_ptr = chapter answer_object.save() But as expected this throws an error on " orm['journal.Chapter'].objects.get_or_create(content_object=blog)" saying that > django.core.exceptions.FieldError: Cannot resolve keyword 'content_object' into field. This is presumably due to content_object being a GenericForeignKey so some operations are not allowed. But I also tried other alternatives for creating the "chapter" object like, chapter = orm['journal.Chapter'](content_object=blog) ERROR > TypeError: 'content_object' is an invalid keyword argument for this function and chapter = orm.journal.Chapter(content_object=blog) ERROR > AttributeError: The model 'journal' from the app 'questions' is not available in this migration. (Did you use orm.ModelName, not orm['app.ModelName']?) So since my earlier approach was failing I tried a new tact. The model whose instantiation was failing in my code above i.e. Chapter in the Journal app, I decided to create a datamigration for that instead. I also made sure to --freeze the models I am referring to in the forwards definition. Now this should have been straight forward, I would think. I have my forward code as follows - def forwards(self, orm): for answer_object in orm['questions.Answer'].objects.all(): #Works, AGAIN! blog, is_created = orm['blog.Post'].objects.get_or_create(title=answer_object.answer[: 100]) blog.save() # DOES NOT WORK, AGAIN! chapter = orm.Chapter(rank=1, content_object=blog) chapter.save() I would have thought that now since I am creating instance of a model (Chapter) which exists in the subject app (Journal) everything should have worked out. But i am getting the same error > TypeError: 'content_object' is an invalid keyword argument for this function. It fails at the same point, namely, "content_object". I will post below the model definition if that might help. class Chapter(models.Model): rank = models.IntegerField() content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() content_object = generic.GenericForeignKey() Also all the models being touched in these forwards methods, namely - blog, chapter, questions; are fully defined in the 00n_*.py files created by South's schemamigration. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.