0
我正在处理一个现有的数据库,我无法修改,并且在尝试处理在Django中修改数据库时出现了一些问题。所讨论的结构如下,所有模型都是非托管的。Django与奇怪的模型关系形式
class Persons(models.Model):
personid = models.BigIntegerField(primary_key=True, db_column='PersonID')
....
class Phones(models.Model):
phoneid = models.BigIntegerField(primary_key=True, db_column='PhoneID')
number = models.CharField(max_length=60, db_column='Number', blank=True)
type = models.CharField(max_length=15, db_column='Type', blank=True)
...
class Personsphones(models.Model):
personphoneid = models.BigIntegerField(primary_key=True, db_column='PersonPhoneID')
personid = models.ForeignKey(Persons, db_column='PersonID')
phoneid = models.ForeignKey(Phones, db_column='PhoneID')
...
我想创建一个表格来显示所有的与特定的“人”,此外能够修改/添加/删除“手机”属于“人”相关的“手机”。现在我唯一能想到的就是在modelformset中显示'Phones',然后手动添加或删除'Phones'设置'Personsphones'关系。关于如何最好地处理这个模型设置的任何想法?
谢谢,但也许我不清楚我的意思是无法修改数据库。我的意思是数据库模式不能因为我的控制之外的因素而改变。如果我能够在电话和人员之间拥有外键,我就不会有问题。 – 2012-04-26 20:22:03