Python 如何根据需要在Django admin中重复某些字段?
我有一个幻灯片模型,我需要添加图像和标题Python 如何根据需要在Django admin中重复某些字段?,python,django,django-models,Python,Django,Django Models,我有一个幻灯片模型,我需要添加图像和标题n次,其中n是每个幻灯片上的幻灯片数。这取决于幻灯片 模型如下: class SlideShow(models.Model): name = models.CharField(blank=False, max_length=50) slug = models.SlugField(blank=False, max_length=50) type = models.CharField(choices=SLIDESHOW_TYPES, d
n
次,其中n
是每个幻灯片上的幻灯片数。这取决于幻灯片
模型如下:
class SlideShow(models.Model):
name = models.CharField(blank=False, max_length=50)
slug = models.SlugField(blank=False, max_length=50)
type = models.CharField(choices=SLIDESHOW_TYPES, default=SLIDESHOW_TYPE_DEFAULT, max_length=20)
height = models.IntegerField(blank=False)
width = models.IntegerField(blank=False)
auto_play = models.BooleanField(default=True)
loop_play = models.BooleanField(default=True)
random = models.BooleanField(default=True)
display_time = models.DecimalField(blank=False, decimal_places=3, max_digits=5)
transition_speed = models.DecimalField(blank=False, decimal_places=3, max_digits=5)
music_file = models.FileField(blank=True,upload_to=gen_slideshowimage_upload_dir_func('music'))
music_loop = models.BooleanField(default=True)
slide_count = models.IntegerField()
# repeat the below fields as per the slide_count
image = models.FileField(blank=False,upload_to=gen_slideshowimage_upload_dir_func('images'))
caption = models.CharField(blank=True, max_length=25)
def __unicode__(self):
return self.name
最后两个字段必须在每次幻灯片计数时重复
我不希望图像在一个单独的模型和链接与表格管理或关系。如何使用Django实现这一点?使用主/从表是正确的处理方法。(它呼吁:
使用主/从表是正确的处理方法。(它呼吁:
你还有什么需要澄清的吗?你还有什么需要澄清的吗?
class SlideShow(models.Model):
name = models.CharField(blank=False, max_length=50)
slug = models.SlugField(blank=False, max_length=50)
type = models.CharField(choices=SLIDESHOW_TYPES, default=SLIDESHOW_TYPE_DEFAULT, max_length=20)
height = models.IntegerField(blank=False)
width = models.IntegerField(blank=False)
auto_play = models.BooleanField(default=True)
loop_play = models.BooleanField(default=True)
random = models.BooleanField(default=True)
display_time = models.DecimalField(blank=False, decimal_places=3, max_digits=5)
transition_speed = models.DecimalField(blank=False, decimal_places=3, max_digits=5)
music_file = models.FileField(blank=True,upload_to=gen_slideshowimage_upload_dir_func('music'))
music_loop = models.BooleanField(default=True)
def slide_count(self):
return len(self.images_set.all())
def __unicode__(self):
return self.name
class Images(modes.Model):
image = models.FileField(blank=False,upload_to=gen_slideshowimage_upload_dir_func('images'))
caption = models.CharField(blank=True, max_length=25)
slideshow = models.ForeignKey(SlideShow, on_delete=models.CASCADE)