2012-03-09 3 views
1

내 이해에 따라 미리 채워진 필드에는 foriegnkey가 포함되어서는 안됩니다. 나는 해결 방법을 생각했다. 내 모델미리 채워진 필드 및 함수()

은 .. 내가 그 일을하고 어떻게이 이름 getname()

def getname(self): 
    t1 = str(self.team_one) 
    t2 = str(self.team_two) 
    t1t2 = t1 + ' vs ' + t2 
    return t1t2 

내 관리자 .. 그것을 호출하는 생각으로 함수를 정의했다.

prepopulated_fields = { 'name': ('getname()',)} 

내 문제를 해결해야하지만 이것은 장고가 말한 것입니다.

Exception Type: ImproperlyConfigured 
Exception Value:  
'FixtureAdmin.prepopulated_fields['name'][0]' refers to field 'getname' that is missing from model 'Fixture'. 

해결 방법이 있습니까? 아니면 아이디어를 삭제해야합니까?

// 마우스

+0

무엇을하려고합니까? 어쩌면 jQuery를 사용하여 사용자 정의 Javscript를 작성할 수 있을까요? –

+0

두 팀에 기반한 조명기의 이름을 설정하려고합니다. – debuggerpk

답변

1

prepopulated_fields는 슬러그만을위한 것입니다; 필드에 기본값을 제공하는 일반적인 방법은 아닙니다.

이 경우 자신의 JavaScript를 작성해야합니다. 다음과 같은 것이 트릭을 수행해야합니다.

$('#id_team_one, #id_team_two').change(function(){ 
    var $team1 = $('#id_team_one'); 
    var $team2 = $('#id_team_two'); 
    if ($team1.val() && $team2.val()) { 
     var team1_selected = $(':selected', $team1).text(); 
     var team2_selected = $(':selected', $team2).text(); 
     $('#id_name').val(team1_selected + ' vs ' + team2_selected); 
    } 
}); 
관련 문제