2012-10-30 104 views
0

型號:在Django管理許多一對多的關係

class Detail(models.Model): 
    def __unicode__(self): 
      return self.title 
    title = models.CharField(max_length=32) 

class Cars(models.Model): 
    def __unicode__(self): 
      return self.name 
    name = models.CharField(max_length=32, unique=True) 
    details = models.ManyToManyField(Detail) 

所以,每車有很多細節 - 車輪,發動機等。如何做到這一點:在Django管理位於汽車的菜單,在該菜單中,我們有許多細節(如tutorial)。 在管理我用:

class DetailInline(admin.TabularInline): 
    model = Detail 
    extra = 6 
class CarsAdmin(admin.ModelAdmin): 
    inlines = [DetailInline] 

但它的主要錯誤:細節都沒有ForeignKey的來車。如何解決它?

+0

模型中有些模棱兩可:是否有可能重複使用許多汽車的相同細節?如果是的話,你不應該使用內聯,因爲當修改汽車的細節時,它會改變所有使用它的汽車的細節。如果否,解決方案是在Detail模型中使用指向Car模型的ForeignKey。 – Etienne

+0

它就像一個例子:) – tim

回答