2017-02-25 24 views
0

我用smart_selects在Django管理页面中实现二级链接。成功!当我选择一所大学时,只能选择那些属于大学的学院。我的网页中的二级链接无法显示Django中的选项1.10

但是,当涉及到网页中的表单时,第二级表单不能显示任何选项。
这是错误的网页:

enter image description here

这里是代码:

models.py

class StudentModel(models.Model): 
    GENDER_CHOICES = (('M','男'),('F','女'),) 

    name = models.CharField(verbose_name='姓名',max_length=20) 
    gender = models.CharField(blank = True,max_length=4,choices = GENDER_CHOICES,verbose_name='性别') 
    date_of_birth = models.DateField(verbose_name='出生日期',blank=True,null=True) 
    age = models.IntegerField(verbose_name='年龄',default=0) 
    highschool = models.ForeignKey(SeniorHighSchoolModel,verbose_name='高中名称') 
    university = models.ForeignKey(UniversityModel,verbose_name='大学名称') 
    college = ChainedForeignKey(CollegeModel,chained_field='university',chained_model_field='university',show_all=False,blank=True,null=True,verbose_name='学院名称') 

    def __str__(self): 
     return self.name 

forms.py

from django import forms 
from .models import StudentModel 

class LoggingForm(forms.ModelForm): 

class Meta: 
    model = StudentModel 
    fields=['name','gender','date_of_birth','age','highschool','university','college'] 

logging.html

<form action="" method="POST"> 
{% csrf_token %} 
{{form.as_p}} 
<input type='submit' /> 

回答

0

我发现了一个分辨率,只需添加{{form.media.js}}在logging.html。

<form action="" method="POST"> 
    {% csrf_token %} 
    **{{form.media.js}}** 
    {{form.as_p}} 
    <input type='submit' /> 
    <a>You will recieve an email from us.</a> 
</form> 

答案在这个问题中发现: How to use django smart-selects with modelform?

感谢来自唐老鸭的版本。