이것은 프로그램 버그 수정 문제가 아닙니다. 바보 같아요, 웹 사이트 디자인에 많은 경험이 없기 때문에. 내가 코드를 작성하기 전에 제 디자인 패턴이 올바른지 확인하고 싶습니다.Django에서 소셜 네트워크 용 컨텐츠 공유 모델을 설계하는 방법은 무엇입니까?
google + 또는 페이스 북과 같은 소셜 네트워크를 디자인하고 싶습니다. 콘텐츠를 공유하는 것처럼 기본 기능 만 수행합니다. google +와 마찬가지로 사용자는 텍스트, 사진, 링크 및 비디오와 같은 다양한 유형의 콘텐츠를 공유 할 수 있습니다. 그림과 같이 :
나는 모든 유형의 콘텐츠를 공유 할 때마다 다른 모델을 디자인해야합니까? 하나 개의 클래스에서
class TextPost(models.Models):
text=models.CharField(max_length=140)
createDate=models.DateTimeField(auto_now_add=True)
author=models.OneToOneField(User)
class GalleryPost(models.Model):
galleryTitle=models.CharField(max_length=140)
createDate=models.DateTimeField(auto_now_add=True)
author=models.OneToOneField(User)
class Images(models.Models):
image = models.ImageField()
galleryPost=models.ForeignKey(GalleryPost)
class LinkPost(models.Models):
link=...
createDate=...
class VideoPost(models.Models):
video=...
또는 넣어 모든 유형 : 아래의 코드처럼
class Post(models.Model):
text=models.CharField(max_length=140)
createDate=models.DateTimeField(auto_now_add=True)
author=models.OneToOneField(User)
galleryTitle=models.CharField(max_length=140)
link=...
video=...
내가 선택하는 경우 첫 번째 방법, 쉽게 한 페이지에서 생성 된 날짜 이후의 모든 종류를 나열인가요? 다른 좋은 방법이 있습니까?