如何在 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
但您必须注意此操作的后果,请阅读此 。
如何在特定情况下更改模型的字段选项?
例如,我想通过 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
但您必须注意此操作的后果,请阅读此