products = Products.objects.filter(hide_option=0).order_by("-created_at")
class Song(models.Model):
album = models.ForeignKey('album.Album', default=1)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
class Meta:
ordering = ['timestamp', 'pk']
list_display=[
"id",
"get_username",
"post",
]
# 3가지 칼럼으로 보여주겠다
# 그중 get_username은 username으로 보여주도록 아래처럼
@display(ordering='user__usernmae',description='작성자')
def get_username(self,obj):
return obj.user.usrname
https://stackoverflow.com/questions/68001954/difference-between-django-shortcuts-and-rest-framework-generics
from rest_framework.generics
from django.shortcuts
method: PUT | {{host}}/comment/3/comment/1/ ➜ 이 url로 요청을 보냈을 때
원래 아래처럼 나와야 정상인데
갑자기 2번게시물 1번 댓글이 수정됐다 ㅋㅋㅋ 댓글 id가 게시물마다 순차적으로 생길거라고 생각하고 실수로 넣어본건데 안넣어봤으면 큰일날뻔 왠지 커멘트 id만 넣어서 얘가 찾을 수 있나 하는 생각을 했었는데 실수해서 증말 다행
put은 create가 아니니까 굳이 저장할 때 각종 id값을 넣을 필요가 없음
그리고 위에서 커멘트 수정할 때랑 마찬가지로 조건을 더 특정해주지 않으면 얘또 이상한 애 수정하고 있을듯
<QuerySet [<Comment: Comment object (9)>]>
get이 아니라 filter로 하면 오류가 안난당 큐큐 왜그래?
➜ get_object_or_404는 결과가 2개 이상 나오면 multiple object returned 오류가 발생
객체 하나가 아니라 객체들의 리스트를 반환함
결과가 여러 개 나오는 경우에는 get_list_or_404
그래서 아래처럼해도 된당
⇿ Eager evaluation can be more efficient and more controllable, and is trivially converted to lazy evaluation.
url패턴에거 사용하는 < int:post_id> 부분