- 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_field
를 user_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로 전달한다면 어떻게 전달될까?