通过表单显示引用属性的变量

时间:2011-02-02 13:19:07

标签: python django google-app-engine

models.py

class User(db.Model):  
    user_id = db.StringProperty(required=True)  
    nickname = db.StringProperty(required=False)  
    email = db.StringProperty(required=False)  
    pic_url = db.StringProperty(required=False)  
    type_admin = db.BooleanProperty(default=False)  

    school = db.ReferenceProperty(School, collection_name='user_school')

class School(db.Model):  
    school_id = db.StringProperty(required=True)  
    school_name= db.StringProperty(required=True)  
    school_domain = db.StringProperty(required=False)   

views.py

 uform = UserForm(instance=user)  

forms.py

class UserForm(djangoforms.ModelForm):  
    class Meta:  
        model = User  
        exclude = ['user_id']  

html页面

{{ uform.school }}

这会在下拉列表中返回学校对象的列表。但是,我希望下拉列表中显示school_name。 我怎么做?

1 个答案:

答案 0 :(得分:2)

覆盖学校模型上的__unicode__方法

class School(db.Model):  
    school_id = db.StringProperty(required=True)  
    school_name= db.StringProperty(required=True)  
    school_domain = db.StringProperty(required=False) 

    def __unicode__(self):
        return self.school_name