Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据需要在Django admin中重复某些字段?_Python_Django_Django Models - Fatal编程技术网

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)