我正在为一位拥有应用程序名为的摄影师开展一个项目:所有照片都有4个预定类别,每张照片属于一个类别。
我想要的是管理员有一个名为Categories
的部分。当您点击它时,管理员必须显示4个预定类别,当您点击特定类别时,必须有上传照片的选项。
我的意思是,本节的最终结构必须是:
ADMIN ----> 类别 ------>
- 类别1 ----->上传属于cat1的照片
- 类别2 ----->上传属于cat2的照片
- 类别3 ----->上传属于cat3的照片
- 类别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 :(得分:0)
一想法: 使每个图像成为具有外键到类别的模型。然后使用管理内联图像并将其添加到类别管理类。
通过此功能,您可以在每个类别中拥有无限量的图像,并在管理员中添加和删除它们。
事实上,这就是你已经做过的!这种方法有问题吗?