๐Ÿฆ Python Online Store ๋งŒ๋“ค๊ธฐ 10ํŽธ - ์ƒํ’ˆ ์‚ญ์ œ

yohan-record[web]ยท2022๋…„ 8์›” 3์ผ
0

python onlinestore ๊ฐœ๋ฐœ์ผ์ง€

๋ชฉ๋ก ๋ณด๊ธฐ
10/25
post-thumbnail

๐ŸŽˆ Front End Developer ์˜ Back End ๋„์ „๊ธฐ ! ๐ŸŽˆ

์ด ๊ธ€์€ PROJECT LION : ํ˜ธ์ฝ”์น˜ ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ฐธ๊ณ ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

์ž‘์—… ์ค‘, ๊ฐœ๋ฐœ๊ณผ์ • ์ •๋ฆฌ ๋ฐ issue๊ฐ€ ๋˜์—ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ๊ณต์œ  ๋ฐ ๊ธฐ๋กํ•˜๊ณ ์ž ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

1. ์ƒํ’ˆ ์‚ญ์ œ

โœ ๋“ฑ๋ก๋œ ์ƒํ’ˆ์„ list์—์„œ ํ™•์ธ ํ›„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.
ํฐ logic์„ ๊ตฌ์ƒํ•ด๋ณด๋ฉด ์ƒํ’ˆ ์‚ญ์ œ๋ฅผ ์œ„ํ•ด ๋ฒ„ํŠผ์„ ํด๋ฆญ ์‹œ ์‚ญ์ œํ•˜๊ณ ์ž ํ•˜๋Š” ์ƒํ’ˆ์˜ ๊ณ ์œ id๊ฐ’์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋˜์ ธ์ฃผ๊ณ , ์‚ญ์ œ๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๊ณผ์ •์ด๋‹ค.

  1. ์ƒํ’ˆ ์‚ญ์ œ API ์ƒ์„ฑ
    = ์ƒํ’ˆ ์‚ญ์ œ ์š”์ฒญ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฃผ์†Œ๋ฅผ ์š”์ฒญํ•ด์•ผ ํ•œ๋‹ค. ์‚ญ์ œ์˜ ๊ฒฝ์šฐ์—๋Š” /product_id/delete ํ˜•์‹์˜ ์ฃผ์†Œ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค.
    ๊ทธ ํ›„, delete ํ•จ์ˆ˜ ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ ์š”์ฒญ ์‹œ ๋˜์ ธ์ค„ product_id ๋ผ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. product_id ๋ž€ /product/ํŠน์ •์ƒํ’ˆ1๊ฐœ์˜ ๊ณ ์œ ๋ฒˆํ˜ธ/delete ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

= ํ•ด๋‹น ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ณ ์œ  id๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.


  1. delete_one ํ•จ์ˆ˜ ์ƒ์„ฑ
    -> controllers > product.py![](https://velog.velcdn.com/images/yohan-record/post/fa746002-f7fb-45e5-bc55-de498d7b9ded/image.png) -> models > product.py
    = ํ•˜๋‚˜์˜ products document ๋ฅผ ์‚ญ์ œํ•ด ์ฃผ๋Š”๋ฐ, ์–ด๋–ค document๋ฅผ ์‚ญ์ œํ•ด ์ค„๊ฒƒ์ธ๊ฐ€์— ๊ด€ํ•œ ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

์ฆ‰, _id ๊ฐ€ objectID๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” document ๋ฅผ ์‚ญ์ œํ•  ๊ฒƒ์ด๋‹ค.

ex) ํŒŒ๋ž€์šด๋™ํ™”๋ฅผ ์‚ญ์ œํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด objectId ๊ฐ€ 62e90f.....de ์ธ๊ฒƒ์„ ์‚ญ์ œํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿ”– ๋˜ํ•œ, objectId๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” bson import ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
-> from bson import ObjectId


  1. product_id ์ „๋‹ฌ
    = ์ „๋‹ฌํ•œ product_id ๊ฐ€ models > product.py ์˜ id๊ฐ€ ๋˜๊ณ , objectId์— ํฌํ•จ๋˜๊ณ  _id๊ฐ€ objectID์ธ product document ํ•˜๋‚˜๋ฅผ ์‚ญ์ œํ•˜๊ฒŒ ๋œ๋‹ค.

  1. ์‚ญ์ œ ์š”์ฒญ ๋ฒ„ํŠผ ์ƒ์„ฑ
    = ๊ณ ์œ  id๊ฐ’์„ ์ฃผ์†Œ๋กœ ์š”์ฒญ์‹œํ‚จ ์‚ญ์ œ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ๋ฒ„ํŠผ ํ•˜๋‚˜๋ฅผ ์ƒ์„ฑ์‹œํ‚จ๋‹ค.

  1. ์‚ญ์ œ ํ™•์ธ
    = ์‚ญ์ œํ•˜๊ณ ์ž ํ•˜๋Š” ์ƒํ’ˆ์˜ ๊ณ ์œ id๊ฐ’์ด ์ฃผ์†Œ๊ฐ’์— ์ถœ๋ ฅ๋˜๋ฉด์„œ return text ์—ญ์‹œ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค.
    ์ฆ‰, ์‚ญ์ œ๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋ฉฐ db์ƒ์—์„œ๋„ ๋‹น์—ฐํžˆ ์‚ญ์ œ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

์ด๋กœ์จ ์‚ญ์ œ๊ธฐ๋Šฅ๊นŒ์ง€ ๋์ด ๋‚ฌ๋‹ค !๐Ÿ˜Ž

์‹ค์งˆ์ ์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” logic์„ ํŒŒ์•…ํ•˜๋ฉฐ ๋ฏธ๋ฆฌ ํ•œ๋ฒˆ ์ž‘์—…์„ ํ•ด๋ณด๊ณ , ํฌ์ŠคํŒ…์„ ํ•˜๋ฉด์„œ ๋‘๋ฒˆ ์ž‘์—…์„ ๊ฑฐ์น˜๋‹ˆ ํ›จ์”ฌ ๋” ๊นŠ๊ฒŒ ์ดํ•ด๊ฐ€ ๊ฐ€๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๋‹ค์Œ์‹œ๊ฐ„์—๋Š” ์ƒํ’ˆ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

profile
๐Ÿฑโ€๐Ÿ Front End Developer

0๊ฐœ์˜ ๋Œ“๊ธ€