2013-10-30 54 views
0

我正在爲一名擁有應用程序的攝影師開發一個項目,該應用程序名爲類別:所有照片有4種預定類別,每張照片都屬於一種類別。我需要與模特的特殊關係

我想要的是管理員有一個名爲Categories的部分。當你點擊它時,管理員必須顯示4個預定的類別,當你點擊一個特定的類別時,必須有上傳照片的選項。

我的意思是,這一部分的最終結構必須是:

ADMIN ---->類別 ------>

  1. CATEGORY 1 - --->上傳照片屬於cat1
  2. CATEGORY 2 ----->上傳照片屬於cat2
  3. 類別3 ----->上傳照片wh ICH屬於CAT3
  4. 類別4 ----->上傳屬於CAT4

照片和我有這樣的代碼:

class Category(models.Model): 

    CATEGORY_CHOICES = (
     ('CAT1', 'Category 1'), 
     ('CAT2', 'Category 2'), 
     ('CAT3', 'Category 3'), 
     ('CAT4', 'Category 4'), 
     ) 
    category = models.CharField(verbose_name='Category', max_length=3, choices=CATEGORY_CHOICES, help_text='Choose de category of the image upload') 

    def __unicode__(self): 
     return u"%s"%self.category 

    class Meta: 
     verbose_name='Image' 
     verbose_name_plural='Images' 


class ImageCategory(models.Model): 
    category = models.ForeignKey(Category, verbose_name='Category') 
    image = models.ImageField(verbose_name='Image', upload_to='images/') 

    def __unicode__(self): 
     return u"%s"%self.category 

    class Meta: 
     verbose_name='Image' 
    verbose_name_plural='Images' 

,並在管理:

class ImageCategoryInline(admin.TabularInline): 
    model=ImageCategory 
    classes=('open',) 
    inline_classes=('open',) 
    extra=0 

class CategoryAdmin(admin.ModelAdmin): 
    inlines = [ImageCategoryInline] 

admin.site.register(Category, CategoryAdmin) 
+0

你能解釋一下你遇到的問題嗎?你的方法應該是... – OBu

回答

0

一想到: 使每個圖像成爲具有外鍵到類別的模型。然後使用圖像的管理內聯並將其添加到類別admin類。

有了這個,您可以在每個類別中擁有無限量的圖像,並在管理員中添加和刪除它們。

事實上,這是你已經做了!這種方法有問題嗎?