주 메뉴 열기
대문
임의의 문서로
로그인
설정
Pywiki 소개
면책 조항
Pywiki
검색
바뀜
← 이전 편집
장고 모델 선택필드
(편집)
2021년 6월 22일 (화) 12:59 판
676 바이트 추가됨
,
2021년 6월 22일 (화) 12:59
편집 요약 없음
3번째 줄:
3번째 줄:
기본적으로 <code>ChoiceField</code> 는 따로 없기때문에 CharField에서 옵션을 사용하는 방식으로 구현한다.
기본적으로 <code>ChoiceField</code> 는 따로 없기때문에 CharField에서 옵션을 사용하는 방식으로 구현한다.
+
+
혹은 ForeignKey로 다른 모델과 연결해두면 해당 모델 안의 객체에서만 선택할 수 있다.
== 정의 ==
== 정의 ==
15번째 줄:
17번째 줄:
)
)
선택속성 = models.CharField(choices=선택지, max_length=5, blank=False) # 옵션은 알아서.
선택속성 = models.CharField(choices=선택지, max_length=5, blank=False) # 옵션은 알아서.
+
# max_length 옵션은 DB에 저장되는 데이터에 걸리는 제약.
+
선택속성2 = models.ForeignKey(선택모델,on_delete=models.CASCADE, null=True, blank=True)
+
</syntaxhighlight>
+
+
== 탬플릿에서 사용 ==
+
<syntaxhighlight lang="html+django">
+
<select class='알아서' data-title="제목" data-style="알아서" data-menu-style="알아서">
+
{% for x,y in form.fields.선택속성.choices %}
+
<option value="{{ x }}"{% if form.fields.gender.value == x %} selected{% endif %}>{{ y }}</option>
+
{% endfor %}
+
</select>
</syntaxhighlight>
</syntaxhighlight>
−
=== 탬플릿에서 출력 ===
+
=== 탬플릿에서
선택값
출력 ===
<nowiki>{{모델.속성}}</nowiki> 이 형태로 쓰면 DB에 기록된 형태의 데이터를 보여주고,
<nowiki>{{모델.속성}}</nowiki> 이 형태로 쓰면 DB에 기록된 형태의 데이터를 보여주고,
<nowiki>{{모델.get_속성명_display}}</nowiki>로 쓰면 사용자에게 보여지는 형태의 데이터를 보여준다.
<nowiki>{{모델.get_속성명_display}}</nowiki>로 쓰면 사용자에게 보여지는 형태의 데이터를 보여준다.
[[분류:장고 모델]]
[[분류:장고 모델]]
Sam
사무관
,
인터페이스 관리자
,
관리자
, 교사
편집
1,408
번