How can I disable a model field in a django form

前端 未结 5 2007
野性不改
野性不改 2020-12-13 10:37

I have a model like this:

class MyModel(models.Model):
    REGULAR = 1
    PREMIUM = 2
    STATUS_CHOICES = ((REGULAR, \"regular\"), (PREMIUM, \"premium\"))
         


        
5条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-13 11:30

    Just customize the widget instance for the status field:

    class MyModel(models.Model):
        REGULAR = 1
        PREMIUM = 2
        STATUS_CHOICES = ((REGULAR, "regular"), (PREMIUM, "premium"))
        name = models.CharField(max_length=30)
        status = models.IntegerField(choices = STATUS_CHOICES, default = REGULAR)
    
    class MyForm(forms.ModelForm):
        status =  forms.CharField(widget=forms.TextInput(attrs={'readonly':'True'}))
    
        class Meta:
            model = models.MyModel
    

    see: Django Documentation

提交回复
热议问题