Django modelform은 필수 필드가 아닙니다.
다음과 같은 양식이 있습니다.
class My_Form(ModelForm):
class Meta:
model = My_Class
fields = ('first_name', 'last_name' , 'address')
주소 필드를 선택 사항으로 입력하려면 어떻게해야합니까?
모델이 다음과 같습니다.
class My_Class(models.Model):
address = models.CharField()
귀하의 양식 :
class My_Form(ModelForm):
address = forms.CharField(required=False)
class Meta:
model = My_Class
fields = ('first_name', 'last_name' , 'address')
class My_Form(forms.ModelForm):
class Meta:
model = My_Class
fields = ('first_name', 'last_name' , 'address')
def __init__(self, *args, **kwargs):
super(My_Form, self).__init__(*args, **kwargs)
self.fields['address'].required = False
다음을 추가해야합니다.
address = forms.CharField(required=False)
field = models.CharField(max_length=9, default='', blank=True)
모델 필드에 blank = True를 추가하기 만하면 modelform을 사용할 때 필요하지 않습니다.
@Atma의 답변 에 대한 의견에서 @Anentropic의 솔루션 이 저에게 효과적 이었습니다. 그리고 그것도 최고라고 생각합니다.
그의 코멘트 :
null = True, blank = True는 ModelForm 필드가 필요함 = False
내 UserProfile
수업의 ManyToMany 필드에 설정했고 완벽하게 작동했습니다.
내 UserProfile
수업은 이제 다음과 같습니다 ( friends
필드에 유의하십시오 ).
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
friends = models.ManyToManyField('self', null=True, blank=True)
I also think that this is the most beautiful solution since you do the same thing, put null
and blank
to True
, weather you have a simple char
field or, like I have, ManyToMany
field.
Again, thanks alot @Anentropic. :)
P.S. I wrote this as a post since I couldn't comment (I have less than 50 reputation) but also because I think his comment needs more exposure.
P.P.S. If this answer helped you, please do upwote his comment.
Cheers :)
The above answers are correct; nevertheless due note that setting null=True
on a ManyToManyField has no effect at the database level and will raise the following warning when migrating:
(fields.W340) null has no effect on ManyToManyField.
A good answer to this is explained in this other thread.
참고URL : https://stackoverflow.com/questions/16205908/django-modelform-not-required-field
'IT박스' 카테고리의 다른 글
백 스택에서 조각 제거 (0) | 2020.12.14 |
---|---|
ElasticSearch가 내 플러그인을 어디에 설치하는지 어떻게 알 수 있습니까? (0) | 2020.12.14 |
몽구스 : 깊은 인구 (밀집된 필드 채우기) (0) | 2020.12.14 |
Unix에서 PID 파일을 올바르게 처리하기위한 참조 (0) | 2020.12.13 |
accepts_nested_attributes_for가 belongs_to와 함께 작동합니까? (0) | 2020.12.13 |