스키마 마이 그 레이션에서 다음과 같은 작업을 수행 할 수 있습니까? Django South - 동시에 스키마 및 데이터 마이그레이션
def forwards(self, orm):
## CREATION
# Adding model 'Added'
db.create_table(u'something_added', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('foo', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['something.Foo'])),
('bar', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['something.Bar'])),
))
db.send_create_signal(u'something', ['Added'])
## DATA
# Create Added for every Foo
for f in orm.Foo.objects.all():
self.prev_orm.Added.objects.create(foo=f, bar=f.bar)
## DELETION
# Deleting field 'Foo.bar'
db.delete_column(u'something_foo', 'bar_id')
날
f.bar
에 액세스 할 수 있도록 할 것
prev_orm
참조, 한에
모든 작업을 수행 할 수 있습니다. 나는 3 개의 마이 그 레이션을 작성하는 것은 꽤 무거웠다는 것을 알게되었습니다 ... 저는 이것이 "할 수있는 방법"이 아니라는 것을 알고 있지만 제 마음에는 솔직히 훨씬 더 깨끗합니다.
btw를 수행하는 데 실제 문제가 있습니까?
"추가 된"모델을 모델명에 포함 시키려고합니다. 그런 다음 평소와 같이'self.orm.Added'를 사용하여'create_table' 후에 사용할 수 있지만 테스트하지는 않았습니다. – esauro