Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 1.46 KB

2023-12-15-fri.md

File metadata and controls

37 lines (31 loc) · 1.46 KB

TIL

  • store profile / buyer profile 의 primary key는 user_id가 적당한가?
    • primary key를 따로 쓰면 나중에 store user와 buyer user를 구분하는 경우 헷갈릴 수 있음.
    • primary key는 user_id로 사용하고, product에 연결하는 store같은 경우
class Product(models.Model):
	...
	store = models.ForeignKey(
		StoreProfile,
		verbose_name="Product Owner",
		related_name="store",
		to_field="user_id",
		on_delete=models.CASCADE,
		null=False,
	)

아래처럼 to_fielduser_id로 연결해주면 된다.

  • [[drf permissions.BasePermission]]
    • has_object_permission 메서드 사용
def has_object_permission(self, request: HttpRequest, view: View, obj: Any)
	pass

request는 Request 객체가 전달되고, request.user는 요청을 한 User 모델의 인스턴스가 전달된다. obj는 view에서 사용하는 model의 instance가 전달된다. 보통은 request.user의 조건과 전달된 요청 내용을 비교해서 permission을 정의한다.

  • 오늘의 집 uri 구경
  • modelViewSet으로 들어오는 데이터
    • class TestViewSet(ModelViewSet): def create(self): print(request.data) 해보면,
    • <QueryDict {'csrfmiddlewareToken':'dowijfdsj'}, 'name':['name'], 'id':['id']> 이렇게 나온다. QueryDict은 immutable한 객체이고... csrfToken이 무엇인지는 정리해봐야겠다.
  • login 한 상태란 무엇인가..? restapi로 전달한다면 어떻게 전달될까?

References