장고 - multiselectfield 학습
- 이번 포스트에서는 앱 모델 작성 시, 한번에 여러 항목을 선택할 수 있는 multiselectfield 를 구현하는 방법에 대해 학습해볼 것이다.
ex) yanolja_project
1. multiselectfield 설치
- 경로 : yanolja_project$
1
pip install django-multiselectfield
2. 모델 작성
- 경로 : stay(앱) > models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17from django.db import models
from django.contrib.auth import get_user_model
from multiselectfield import MultiSelectField
SERVICE_CHOICES = (
(1, '주차가능'),
(2, '레스토랑'),
(3, '부페'),
(4, '커피숍'),
(5, '유료세탁'),
(6, '24시간데스크'),
(7, '객실금연'),
...
)
class Stay(models.Model):
service_kinds = MultiSelectField(choices=SERVICE_CHOICES, null=True, blank=True)
3. 설정 추가
- 경로 : config(프로젝트) > settings.py
1
2
3
4INSTALLED_APPS = (
...
'multiselectfield',
)
4. 커스터마이징 템플릿
- 경로 : stay > templates > stay > stay_list.html
1
2
3
4
5
6
7{% block content %}
{% for object in object_list %}
...
{{object.service_kinds}}
...
{% endfor %}
{% endblock %}
5. REST Framework API 작성 시
- 경로 : stay > serializers.py
1
2
3
4
5
6
7from rest_framework import fields, serializers
from .models import SERVICE_CHOICES
class StaySerializer(serializers.ModelSerializer):
...
service_kinds = fields.MultipleChoiceField(choices=SERVICE_CHOICES)
...
Posted
tags:
{ Django }
{ multiselectfield }