我最近進入了一個項目,在該項目中我們有兩個幾乎完全相同的應用程序。我們使用的是Django 1.4和Postgresql 8.4。這兩種型號具有以下內容:Django - 合併兩個相同的應用程序的最佳方式
class Author(models.Model):
person = models.ForeignKey(Person)
book = models.ForeignKey(Book)
order = models.PositiveIntegerField(blank=True,null=True)
institute = models.ForeignKey(Institution,blank=True, null=True)
rank = models.ForeignKey(Rank,blank=True, null=True)
class Institution(models.Model):
name = models.CharField(max_length=200)
parent_institution = models.ForeignKey('self', blank=True, null=True)
location = models.ForeignKey(Location, blank=False, null=False)
type = models.ForeignKey(InstitutionType, blank=False, null=False)
class Person(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
middle_name = models.CharField(max_length=50,blank=True,null=True)
gender = models.CharField(max_length=1,choices=GENDER_TYPE,blank=True,null=True)
class InstitutionType(models.Model):
type = models.CharField(max_length=255)
有沒有辦法輕鬆地合併兩者,無論是通過SQL或通過Django?我不太確定最好的方法是什麼。我唯一的問題是有很多外鍵引用。是否有一種很好的方法可以將一個應用程序表的主鍵更改爲高於其他應用程序(實質上是在第一個表的第一個表結束時從第二個表中重新分配主鍵),然後讓它們慢慢向下並最終合併兩張桌子?任何形式的反饋將不勝感激。
如何將每個應用程序知道哪些記錄屬於它? – 2012-07-18 17:01:32