在 Django 中使用 if else models.py

Using if else in django models.py

我正在尝试在我的 django models.py 中创建一个管理界面,这样当状态变量被选择为完成时,它应该询问各个字段。

class Event(models.Model):
    poster = models.ImageField(upload_to='EventPosters')
    title = models.CharField(max_length=200)
    description = models.TextField(max_length=350)
    STATUS = (('upcoming', 'upcoming'), ('completed', 'completed'))
    status = models.CharField(max_length=10, choices=STATUS, default='upcoming')
    if status == 'completed':
        report = models.TextField()
        images_url = models.URLField()
        no_of_images = models.CharField(max_length=1, validators=[DecimalValidator])
        images_list = {}
        for i in range(int(no_of_images)):
            images_list[i] = models.ImageField(upload_to='EventImages')

    def __str__(self):
        return self.title

以上是我要创建的模型的 class,我希望如果用户选择事件已完成,它应该自动询问管理面板中的剩余字段。 预先感谢任何答案。

我会在没有条件的情况下写入模型中的所有字段,并向它们添加参数“blank=True”。 并会向模板添加条件。如果触发条件,则会出现其他字段。