ฉันตามล่าหาคำตอบสำหรับสิ่งนี้ในเว็บไซต์ของ South, Google และ SO แต่ไม่สามารถหาวิธีง่ายๆในการทำเช่นนี้
ฉันต้องการเปลี่ยนชื่อรุ่น Django โดยใช้ South สมมติว่าคุณมีดังต่อไปนี้:
class Foo(models.Model):
name = models.CharField()
class FooTwo(models.Model):
name = models.CharField()
foo = models.ForeignKey(Foo)
และคุณต้องการแปลง Foo เป็น Bar ได้แก่
class Bar(models.Model):
name = models.CharField()
class FooTwo(models.Model):
name = models.CharField()
foo = models.ForeignKey(Bar)
เพื่อให้ง่ายฉันแค่พยายามเปลี่ยนชื่อจากFoo
เป็นBar
แต่ไม่สนใจfoo
สมาชิกในFooTwo
ตอนนี้
วิธีที่ง่ายที่สุดในการทำเช่นนี้โดยใช้ South คืออะไร
- ฉันอาจจะทำการโยกย้ายข้อมูล แต่ที่เกี่ยวข้องสวย
- เขียนการย้ายข้อมูลที่กำหนดเองเช่น
db.rename_table('city_citystate', 'geo_citystate')
แต่ฉันไม่แน่ใจว่าจะแก้ไขคีย์ต่างประเทศในกรณีนี้ได้อย่างไร - วิธีที่ง่ายกว่าที่คุณรู้