2012-09-02 274 views
0

我想模型我的應用程序,我碰到過這個問題:Django模型與同一模型的多個關係

我有一個幻燈片,可以是圖像,文字或視頻。此外,圖像和視頻可以放在同一用戶的許多不同幻燈片和演示文稿中。

我還想存儲幻燈片所屬的演示文稿和插入日期(幻燈片必須有訂單)。

class Slide(models.Model): 
    user = models.ForeignKey(User) 
    presentation = models.ForeignKey(Presentation) 
    insert_date = models.DateTimeField(auto_now_add=True) 

-

class Image(models.Model): 
    def get_image_path(instance, filename): 
     return os.path.join('users/images', str(instance.id), filename) 

    user = models.ForeignKey(User) 
    slide = models.ManyToManyField(Slide) 
    image = models.ImageField(upload_to=get_image_path) 
    insert_date = models.DateTimeField(, auto_now_add=True) 

-

class SlideText(models.Model): 
    slide = models.OneToOneField(Slide) 
    text = models.TextField() 

[視頻模式將類似於圖片]

這個模型的問題在於幻燈片可以是空的,並且幻燈片可以包含圖像和文本(以及V意識),它不應該。

我可以想像這是一個常見問題:某些項目有一些與「項目類型」有關的信息(這將是圖像幻燈片,文本幻燈片...),那麼常見的是什麼方案?

任何幫助真的很感激!謝謝!

回答