๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programming/Django

๐Ÿ“Œ [Django Admin ์˜ค๋ฅ˜] list_filter์— ๋‚ ์งœ ํ•„๋“œ๋ฅผ ๋„ฃ์—ˆ๋”๋‹ˆ ์˜ค๋ฅ˜๊ฐ€? (admin.E116 ํ•ด๊ฒฐ๋ฒ•)

by Mandy's 2025. 7. 23.

๐Ÿ› ๏ธ ํ”„๋กœ์ ํŠธ ์ƒํ™ฉ

๊ธฐ์กด์— Python ๋”•์…”๋„ˆ๋ฆฌ๋กœ ์ง์ ‘ ์ž‘์„ฑํ•œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ Django ๋ชจ๋ธ์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ  ์žˆ๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์—์„œ Admin์—์„œ ํ•„ํ„ฐ ๊ธฐ๋Šฅ์„ ์„ค์ •ํ•˜๋‹ค๊ฐ€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฅ ์˜ค๋ฅ˜ ์ƒํ™ฉ

PostAdmin ํด๋ž˜์Šค์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด list_filter๋ฅผ ์„ค์ •ํ–ˆ๋”๋‹ˆ:

class PostAdmin(admin.ModelAdmin):
    list_filter = ("author", "date", )

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

<class 'blog.admin.PostAdmin'>: (admin.E116) The value of 'list_filter[1]' refers to 'date', which does not refer to a Field.

โ—๏ธ์›์ธ

๋ชจ๋ธ์˜ date ํ•„๋“œ๋ฅผ ๋‹จ์ˆœํžˆ Python์˜ date()๋กœ ์ •์˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

# โŒ ์ž˜๋ชป๋œ ์ •์˜
from datetime import date
class Post(models.Model):
    ...
    date = date(2025, 7, 23)

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Django๋Š” ํ•ด๋‹น ํ•ญ๋ชฉ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•„๋“œ๋กœ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๊ณ , Admin์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

models.DateField()๋กœ ์ •์˜ํ•˜์—ฌ Django๊ฐ€ ํ•„๋“œ๋กœ ์ธ์‹ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# โœ… ์ˆ˜์ •๋œ ์ •์˜
date = models.DateField(auto_now_add=True)
  • auto_now_add=True: ์ž‘์„ฑ ์‹œ ์ž๋™์œผ๋กœ ํ˜„์žฌ ๋‚ ์งœ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

๐Ÿงพ ์š”์•ฝ

๊ตฌ๋ถ„ ๋‚ด์šฉ

๋ฌธ์ œ date๊ฐ€ ๋ชจ๋ธ ํ•„๋“œ๊ฐ€ ์•„๋‹˜
์›์ธ Python์˜ date() ๊ฐ์ฒด๋กœ ์„ค์ •
ํ•ด๊ฒฐ models.DateField()๋กœ ๋ณ€๊ฒฝ