【发布时间】:2014-08-26 04:13:34
【问题描述】:
我是 Django 新手。我有一个自定义表单,它使用 forms.Modelform 从我的模型创建自定义表单。我的数据库中已经有一些数据,我手动输入这些数据进行测试。
但是,用户和课程字段显示为下拉菜单。但他们在下拉列表中没有任何数据。如何让 django 从数据库中提取数据并将信息显示到表单的每个下拉列表中?
models.py:
class Student(models.Model):
user = models.OneToOneField(User)
course = models.ForeignKey(Course)
view.py:
def home(request):
if request.method == 'GET':
form = StudentForm()
else:
form = StudentForm(request.POST)
if form.is_valid():
pass
return render(request, "request.html", {'form': form}, context_instance=RequestContext(request))
forms.py:
class StudentForm(forms.ModelForm):
class Meta:
model = Student
更新
实际上发现更改没有保存到我的数据库中。他们现在正在加载到表单中。但是在下拉列表中,它显示为“学生对象”和“课程对象”
我怎样才能让他们以正确的名字出现?
【问题讨论】:
-
数据库中有
User和Course对象吗? -
实际上我意识到更改没有保存。我的下拉列表现在可以看到数据库中的对象。但是,它们显示为“学生对象”和“课程对象”而不是名称。
-
为这些对象定义
__unicode__方法。