2012-03-09 189 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()',)} 

它应该解决我的问题,但这是django说的。

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

是有解决它,或者我应该放弃这个想法?

//鼠标

+0

你想要做什么?也许你可以用jQuery写自己定制的Javscript? – 2012-03-09 17:13:58

+0

我正在尝试设置基于两个球队的夹具的名称。 – debuggerpk 2012-03-09 17:31:03

回答

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); 
    } 
});