안녕하세요. DB의 퍼포먼스를 위해 데이터 값이 큰 content 부분을 별도 Table

 
Namju Yoon

안녕하세요.
DB의 퍼포먼스를 위해 데이터 값이 큰 content 부분을 별도 Table 에 저장하려고 합니다.
이런 경우 Modelform 을 써서 저장을 하려고 하면 어떻게 해야 하나요?

FBV 로 해서

request.POST.get(‘headline”)
request.POST.get(‘pub_date”)
……………
request.POST.get(‘content”)

를 해서 Entry 와 EntryContent를 Create 해야 하나요?

Form 을 통해 한번에 할수 있는 방법이 있는지 알고 싶습니다.
감사합니다.

class Entry(models.Model):
blog = models.ForeignKey(Blog, on_delete=models.CASCADE,
related_name=’entries’, null=True, blank=True)
headline = models.CharField(max_length=30)
pub_date = models.DateTimeField()
mod_date = models.DateTimeField(auto_now=True)

def __str__(self):
return self.headline

class EntryContent(models.Model):
“””docstring for EntryContent”””
“”” 설명 “””
entry = models.OneToOneField(‘Entry’)
content = models.TextField()

  • 남홍김

    답변이 아니라 죄송합니다. EntryContent를 분리하면 DB 퍼포먼스가 왜 더 좋아지는지 알 수 있을까요?

    Chinseok Lee

    해당 모델폼의 save 멤버함수를 오버라이딩해서 처리하시면 되실 듯 하네요.

    권재원

    윗분 말씀처럼 form.py에 class 클래스 이름(forms.ModelForm): def save(self): 해서 커스터마이징하면 됩니다. save 매쏘드 까보시면 어느 정도 이해 하실수 있을거예요

Advertisements