manytomanay 모델에 on_delete 옵션 추가로 에러가 생김
song_likes = models.ManyToManyField(User, related_name="like_song",blank=True, on_delete=models.CASCADE)
- 수정
song_likes = models.ManyToManyField(User, related_name="like_song",blank=True)
-> manytomany의 경우는 table이 따로 관리되므로 on_delete옵션이 필요하지 않다.
-> Forignkey의 경우는 같은 table에서 처리되기 때문에 on_delete옵션 필요하다.
class 모델이름(models.Model): field1 = models.필드타입(필드옵션) field2 = models.필드타입(필드옵션)
관계 정의 필드
필드타입 | 필수옵션 | 설명 |
---|---|---|
Forignkey | to, on_delete | 필드를 외래키로 설정, 다른 테이블의 레코드와 일대다 관계를 형성 |
ManytoManyField | to | 필드가 대상 테이블과 다대다 관계를 형성하도록 설정, 관계 설정 대상이 되는 모델설정 필수 |
OneToOneField | to, on_delete | 필드가 대상 테이블과 일대일 관계를 형성하도록 설정, 관계 설정 대상이 되는 모델과 레코드 삭제 시 처리 방식 설정 필수 |