繁体   English   中英

如何在Django中自动更改模型中的字段选项?

[英]How can I change field option in model automatically in Django?

如何在特定条件下更改模型的字段选项? 例如,我想通过save功能将is_it_question (可编辑)选项更改为False

class TypeFourChoice(models.Model):
    question_choice = models.ForeignKey(TypeFour)
    is_it_question = models.BooleanField(default=False)
    number = models.PositiveIntegerField(blank=False, default=100, editable=False)
    word_or_words = models.CharField(default='', blank=False, max_length=20)
    timestamp = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return "{} : {}".format(self.question_choice, self.word_or_words)

    def save(self, *args, **kwargs):
        if self.pk is None and self.is_it_question:
            self.number = TypeFourChoice.objects.filter(is_it_question=True).count() + 1
            ؟؟؟؟***self.is_it_question.editable = False***????
        super(TypeFourChoice, self).save(*args, **kwargs)

您正在寻找此语句

self._meta.get_field_by_name('is_it_question')[0].editable = False

但您必须注意此操作的后果,请阅读此信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM