2017-09-19 1 views
0

사이트 프레임 워크를 사용하고 있으며 현재 사이트를 내 모델 중 하나에 대한 기본값 인 site 값으로 저장하려고합니다.사이트 프레임 워크를 사용하여 장고 (Django) 양식에서 현재 사이트를 기본값으로 사용하려면 어떻게해야합니까?

모델 :

class MyModel(models.Model): 
    site = models.ForeignKey(
     Site, 
     on_delete=models.CASCADE, 
     default=Site.objects.get_current()) # THIS IS WHAT I WANT TO DO (DOESN'T WORK) 
    ...other fields... 

MyModel 언제의 site 속성이 나는 MyModel 인스턴스를 저장할 때 자동으로 현재 Site 개체를 저장하는 방법이 있나요? 또는 양식 또는 모델의 save 메서드 (또는 이와 유사한 재정의)를 재정 의하여이 작업을 수동으로 수행해야합니까?

+1

당신은 무엇을 의미 작동하지 않습니다 settings.py에서 SITE_ID를 데이터베이스에 사이트를 만들어도 설정 한 경우에만 작동합니다? –

답변

1

기본 사이트를 설정할 수 있습니다.

models.py

def get_current_site(): 
    return Site.objects.get_current().id 


class MyModel(models.Model): 
    site = models.ForeignKey(
     Site, 
     on_delete=models.CASCADE, 
     default=get_current_site) 

당신이

관련 문제