๋๋ฌด ์์ฌ์ ๋ค. ์ฌ๋ฐ๊ณ ์ข์ ํ์๋ค์ ๋ง๋์ ํญ์ ์์ผ๋ฉด์ ์ฝ๋ฉํ๊ณ ์ฆ๊ฒ๊ฒ ํ ์ ์์๋ค. ๋ ๋ค์ ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ฉด ์ด ํ์ ๊ทธ๋๋ก ๋ค์ ํ๋ฒ ๋ฌด์ธ๊ฐ๋ฅผ ํด๋ณด๊ณ ์ถ์ ์ ๋๋ก ์ฆ๊ฒ๊ณ ์ ๋ง์๋ค. ๋ด๊ฐ ๋ก์ง์ ๋ฐ๋ก๋ฐ๋ก ์ง์ง ๋ชปํ๊ณ , ๋ ๋ฒ์ ํฌ๋กค๋ง์ผ๋ก ์๊ฐ์ ๋ง์ด ์์์ ํ๋ก ํธ ๋ถ๋ค์ด ์ํ๋ ์๋ฃ๋ฅผ ๋ฐ๋ก๋ฐ๋ก ์ฃผ์ง ๋ชปํ ๊ฒ์ด ๋๋ฌด ๋ฏธ์ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ dumpํ๊ธฐ ์ํด ํฌ๋กค๋ง์ผ๋ก ์๋ฃ๋ฅผ ๋ฝ์์์ผ ํ๋ค. ์ฌ์ดํธ์ ์๋ ๋ชจ๋ ์๋ฃ๋ฅผ ๋ฝ๊ธฐ ์ํด ์นดํ
๊ณ ๋ฆฌ๋ณ๋ก, ๊ฐ๊ฒฉ, ํ๋ชฉ๋ช
, info, ์ถ์ฒ ์ํ, ์ธ๋ค์ผ ๋ฑ ํฌ๋กค๋ง์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ธ์ด์๋ค. ๊ทธ๋ฐ๋ฐ ํฌ๋กค๋ง์ ๋ค์ ํด์ผํด์, ์ฒ์ ํฌ๋กค๋งํ ์๋ฃ์ ๋๋ฒ์งธ ํฌ๋กค๋งํ ์๋ฃ๋ฅผ ํฉ์ณ์ผํ๋ค. ์๊ฐํด๋ณด๋ฉด ๋ค์ ํฌ๋กค๋ง ํ ๊ฒ ์๋, dumpํ ๋ ํ์ด์ฌ ํจ์๋ก ์์ ํ ์ ์๋ ๋ถ๋ถ์ด์๋๋ฐ, ๊ทธ ๊ณผ์ ์์ ์ ๋๋ก ์ฌ๋ผ๊ฐ์ง ์์๊น ๊ฑฑ์ ์ด ๋์ด ์๋ก ํฌ๋กค๋งํ๋ฉฐ ์๋ ์๊ฐ์ด ์กฐ๊ธ ์์ฌ์ ๋ค. ๊ทธ๋์ ๋ ๋ฒ์ ํฌ๋กค๋ง ์๋ฃ๋ฅผ ํฉ์ณ์ผํ๋๋ฐ rawrow์ ์ํ๋ค์ด ๊ทธ์ ๋ฐ๋์ด์ ํฉ์น๋๋ฐ ํฉ์น๋๋ฐ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ ธ๋ค ๐
๊ทธ๋ฆฌ๊ณ ํฌ๋กค๋ง์์ ํ๋ก ํธ ๋ถ๋ค๊ณผ ์ถฉ๋ถํ ๋ํ๋ฅผ ํ์ง ๋ชปํ ์ฑ ์งํํ๋ ๊ฒ
์ด ๋๋ฌด ์์ฌ์์ ๋จ๋๋ค.
์ฒซ ๋ฒ์งธ๋ก, ๋ด๊ฐ ํฌ๋กค๋งํ ์๋ฃ ์ค์ ๋ชจ๋ ์ํ์ ๋๊ฐ์ด ๋ค์ด๊ฐ๋ policy๊ฐ์ ๋ถ๋ถ์ ๊ตณ์ด ํฌ๋กค๋งํ ํ์ ์์ด ํ๋ก ํธ์์ ํ๋์ฝ๋ฉ ํด์ค ์ ์์๋ ๋ถ๋ถ์ธ๋ฐ, ๋ฏธ๋ฆฌ ์ด๋ฐ ์๊ธฐ๋ฅผ ํ์ง ์์์ ๋ถํ์ํ ์๋ฃ๊น์ง ๋ค ํฌ๋กค๋ง์ ํ๋ค. (ํ๋ ์ฝ๋ฉ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!)
๋๋ฒ ์งธ๋ก, ํ๋์ ๋ฌธ๋จ์ธ ์ค ์์๋ info(material, size, weight) ๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ํ๊ทธ๋ฅผ ์ด 6๊ฐ์ ๋ฌธ์ฅ์ด์๋ค. ๋๋ ํ๊ทธ๋ฅผ ๋นผ๊ณ ํ
์คํธ๋ง ๊ธ์ด์์๊ณ , ์ด๋ฏธ ์๋ฃ๋ฅผ ์ ๋ถ dumpํ ์ํฉ์ด๋ผ ๋ค์ ์ชผ๊ฐ๊ธฐ์ ์๊ฐ์ด ๊ฑธ๋ฆด ์ํฉ์ด์๋ค. ๊ฒฐ๊ตญ ์ด ๋ํ ํ๋ก ํธ ๋ถ๋ค์ด ํ๋์ฝ๋ฉ์ผ๋ก ๋์ผํ info๋ฅผ ๋ฃ์๋๋ฐ ์ด๊ฒ๋ ๋ฏธ๋ฆฌ ์๊ธฐํ๋ค๋ฉด ์ข์์ ๊ฑธ, ๋์น ๊ฒ ๊ฐ์ ๋๋ฌด ์์ฌ์์ผ๋ก ๋จ์๋ค.
์ด์ ํ์ฌ ์ง๋ฌด๊ฐ ๋ถ์์ด ์ค์ํ๋ ์ง๋ฌด๋ผ ๊ทธ๋ฐ์ง, ๋ชจ๋ธ๋ง์ ์กฐ๊ธ ์์ํ๊ฒ ์งํํ ์ ์์๋ค.
use ์ฑ์ ๊ฒฝ์ฐ ์ด์ ์ ์ธ์คํ๊ทธ๋จ ์ฝ๋ฉ์ ํ๋ฉด์ ์งํํ๋ ๋ถ๋ถ๊ณผ ๊ฑฐ์ ๋น์ทํด์ ์ค๋ ์๊ฐ์ ์์ง ์๊ณ ์งํํ ์ ์์๋ค.
product์ฑ์ ๋ก์ง์ ์ง๋ฉด์ ์ ์ผ ์ด๋ ค์ ๋ ๊ฑด, ์์ ์นดํ
๊ณ ๋ฆฌ(bag, eye, clearance, sale) ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ์ ์นดํ
๊ณ ๋ฆฌ (bag - tote, cross, backpakc / eye - thin, bold ๋ฑ) ์์ ์นดํ
๊ณ ๋ฆฌ๋ก๋ง ์กฐํ ํ์ ๋, ์์ ์นดํ
๊ณ ๋ฆฌ ์ค์์ ํ์ ์นดํ
๊ณ ๋ฆฌ๋ก ์กฐํํ์ ๋ ์ํ ๋ฆฌ์คํธ๋ฅผ ๋ฟ๋ ค์ฃผ๋ ๊ฑธ ์ฟผ๋ฆฌ์คํธ๋ง
์ ์ฌ์ฉํด์ ๊ตฌํํ๋ ๊ฒ์ด ์กฐ๊ธ ์ด๋ ค์ ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฒฉ ๋์ ์, ๋ฎ์ ์ ํํฐ
๋ํ ์ ์ฒด ๋ฆฌ์คํธ ๋ณ, ์์ ์นดํ
๊ณ ๋ฆฌ๋ณ, ํ์ ์นดํ
๊ณ ๋ฆฌ๋ณ๋ก ๊ฑธ์ด๋๋ ๊ฒ๋ ์ด๋ ค์ ์ง๋ง ์ฌ๋ฐ์๋ค.
์ด ๊ณผ์ ์์ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
์ด ์ฐธ ์ค์ํ๊ณ ๋ง์ด ์ฐ์ธ ๋ค๋ ๊ฒ์ ๋๊ผ๋ค.
์ปดํ๋ฆฌํจ์ ์ผ๋ก ์งฐ๋ค๋ฉด ๋ ์ข์์ ์ฝ๋,, ์์ฌ์์ด ๋ง์ด ๋จ๋๋ค..
์ํ์ ๋ํ
์ผ ํ์ด์ง์ ๊ฐ์ ์ํ, ๋ค๋ฅธ ์๊น์ธ ์ํ๋ค์ ์ด๋ฏธ์ง๊ฐ ์ธ๋ค์ผ๋ก ์ ๊ณต๋๊ณ ๊ทธ ์ธ๋ค์ผ์ ํด๋ฆญํ๋ฉด ํด๋น ์ํ์ผ๋ก ๋์ด๊ฐ๋ ๊ตฌ์กฐ์๋ค. ์ธ๋ค์ผ ์ด๋ฏธ์ง๋ฅผ ๋ฝ๊ธฐ ์ํด์๋ ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๊ทธ๋ฃนํ
์ ํด์ผ ํ๋ค. ์ด ๋ํ ์ฌ์ดํธ์์ ์ ๊ณตํด์ฃผ๋ ๋ถ๋ถ์ด ์์ด์ ์ง์ ์์ฝ๋ฉ์ผ๋ก ๋ค ๊ทธ๋ฃนํ์ ์ง์๋ค.
๊ทธ๋ฆฌ๊ณ ์ํ ํ
์ด๋ธ์์ foreign key๋ก product_group์ ์ฐ๊ฒฐ์ง์๋ค.
์์ธํ์ด์ง๋ ์ ๋ถ ์ด๋ฏธ์ง url๋ก ๋์ด ์์ด์ ๋ฐ๋ก ํ
์ด๋ธ์ ๋นผ์ foreignkey๋ก ์ฐ๊ฒฐํ๋ค.
์กฐ๊ธ ํน์ดํ๋ ๊ฒ์ ํ๋์ ์ํ์ ์ฐ๊ด ์ํ์ผ๋ก ์ถ์ฒ๋๋ ์ํ๋ค์ด ์์๋๋ฐ, ์ด ์ํ๋ค์ด ๋ค๋ฅธ ์ํ๋ค์๋ ์ถ์ฒ๋๋ ๋ค๋๋ค ๊ด๊ณ์๋ค. ๊ทธ๋์ productrelated ํ
์ด๋ธ์ ๋ฐ๋ก ๋ง๋ ๋ค, product๊ณผ related_product ์นผ๋ผ ๋ชจ๋ ์ํ์ id(pk)์ foreign key๋ก ์ฐ๊ฒฐํด์คฌ๋ค.
foreign key๋ก ์ฐ๊ฒฐ๋ ๋ถ๋ถ์ด ๋ค์ ๋ง์์ ์ด๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋ก์ง ์ง๋๋ฐ ์กฐ๊ธ ํท๊ฐ๋ฆฌ๊ณ ์ด๋ ค์ ๋ค.
order_method = int(request.GET.get('sort_method', None)) if order_method == 1: product_all = Products.objects.order_by('price') elif order_method == 2: product_all = Products.objects.order_by('-price')
๋ด๊ฐ ๊ณผ์ฐ ํ ์ ์์๊น? ๋ผ๋ ๋ง์์ผ๋ก ์์ํ๋ ํ๋ก์ ํธ์ธ๋ฐ, ์ ๋ง ํ ์ ์์๋ค.
๊ฐ๋ฐ์๋ก ๋์ด ๊ฐ๋ฉด์ ์ฒซ ํ๋ก์ ํธ๋ฅผ ํตํด ํ๋ก ํธ์ ์ํตํ๋ ๋ฐฉ๋ฒ, ํ์
ํ๋ ๋ฐฉ๋ฒ, ์ด๋ป๊ฒ ํ๋ฉด ์ข์ ์ฝ๋๊ฐ ๋ ์ ์๋์ง ๊ณ ๋ฏผํ๋ฉฐ ๋ง์ด ์ฑ์ฅํ๋ ๊ฒ ๊ฐ๋ค.
์๋ฒฝ๊น์ง ์ฝ๋ฉํ๋ค๊ฐ ๊ฒฐ๊ตญ ํด๊ฒฐํ์ง ๋ชปํ ์ฑ ์ฐ์ฐํ ๋ง์์ผ๋ก ์ง์ ๊ฐ๋ณด๊ธฐ๋ ํ๊ณ , ๋ค์ ๋ ๋ช๋ถ๋ง์ ํด๊ฒฐ๋๊ธฐ๋ ํ์ฌ ํํ๊ฐ์ ๋๋ผ๊ธฐ๋ ํ๋ค.
๋ฐํ ์ ๋ ๋ค๊ฐ์ด ์๋ฒฝ 3์๊น์ง ์ฝ๋ ์ง๋ค๊ฐ ์ฅ๋ฐ๊ตฌ๋์ ์ํ์ด ์ถ๊ฐ ๋๊ณ , ์ฌ์ดํธ์์ ์ํ์ ์ญ์ ํ๋ ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ์ํ์ด ์ญ์ ๋๋ ๊ด๊ฒฝ์ ๋ณด๋ ๊ทธ ์๊ฐ, ์ง๋ ๋ ํํธ์ฑ๊ณผ ๋ฐ์๋ ์์ง ๋ชปํ ํฌ์ด์ ๊ฐ์ ธ๋ค์คฌ๋ค.
ํ๋ก ํธ ๋ถ๋ค์ด "๋ค์ ํ๋ก์ ํธ๋ ๊ฐ์ด ํ๊ณ ์ถ๋ค"
๋ผ๊ณ ๋งํด์ฃผ๋๋ฐ ๋ง์์ด ๋๋ฌด ๋ญํดํ๊ณ ๊ณ ๋ง์ ๋ค. ์ต๊ณ ์ ์นญ์ฐฌ์ด์๋ค.
2์ฃผ๋์ ์ ๋ฐ๋ฆฌ๊ณ (?) ๋ค๋๋๋ผ ๊ณ ์ ๋ง์ด ํ์
จ์ต๋๋ค.
์ํ๋์ ๊ฐ๋ฐ์ ํฅํ ๊ทธ ์ด์ ๊ณผ ํ๋๋ฅผ ๋ฐ๋ผ๊ฐ์ง ๋ชปํด ๋ง์ด ํ๋ค๊ธด ํ์ง๋ง,
๋์๋ณด๋ฉด 3๊ฐ์๋์ ๊ฐ์ฅ ๋ง์ด ๋ฐฐ์ ๋ ์๊ฐ์ ๊ฒฐ๊ตญ ์ํ๋๊ณผ ํจ๊ป์๋ 1์ฐจ ํ๋ก์ ํธ์์ต๋๋ค.
๋ชจ๋๊ฐ ๊ธฐ์ตํ๊ณ ๋๊ตฌ๋ ์ฐพ๋ ๊ฐ๋ฐ์๊ฐ ๋์ค๊ฒ๋๋ค. ๊ณ ์ํ์
จ๊ณ ์ทจ์
๋ ๋ค ๊ฐ์ด ํ์ดํ
!
๐