我使用smart_selects在django管理页面实现二级联动。成功!当我选择一所大学时,只能选择属于该大学的学院。
但是,对于网页中的表单,二级表单无法显示任何选项。
这是错误的网页:
以下是代码:
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
表格
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' />
我找到了一个解决方案,只需在 logging.html 中添加 {{form.media.js}}。
<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?
感谢唐老鸭的版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句