2010-09-14 51 views
1

我有合作伙伴類型的表外鍵關係,以選擇條件

PartnerType 
Name 
Description 
RelatedToProject 

我有一個PartnerMaster

Name 
Address 
PartnerType 

我有一個項目表

Name 
Partner (from partner master) 

項目表中的合作伙伴必須僅限於那些擁有相關項目= True

我該如何在模型定義中實現這一點。

回答

1

我對Django沒有多少經驗,但您可能需要考慮刪除RelatedToProject字段並添加另一個類PartnersRelatedToProjects(或類似的東西)。然後,簡單地將這個新類別的普通外鍵設置爲Partner表格,並在Project類別中爲這個新表格設置普通外鍵。

然後,您需要跟蹤哪些合作伙伴與項目相關,方法是將其添加到新的PartnersRelatedToProjects表中。

class Partner(models.Model): 
    Name = models.CharField(max_length=200) 
    Description = models.CharField(max_length=200) 

class PartnersRelatedToProjects(models.Model): 
    partner = models.ForeignKey('Partner') 

class Project(models.Model): 
    name = models.CharField(max_length=200) 
    partner = models.ForeignKey('PartnersRelatedToProjects')