我正在尝试将一些初始数据传递到CourseForm
中的音量字段,但由于某种原因它无效。卷字段是数据库中表的ForeignKey
。
它不会给我错误;它只是没有显示任何信息。
我的模型与相应的音量字段:
class Course(models.Model):
volume = models.ForeignKey(CourseVolume)
code = models.CharField(max_length=100, default=None)
# ... code shortend to simplify
我的Modelform
,其模型设置为Course
class CourseForm(ModelForm):
class Meta:
model = Course
fields = '__all__'
我的观点我正在尝试设置CourseForm
的初始数据。它似乎没有用。 user.volume_preference
返回一个从1到x的整数,它是特定卷的id。
def view_course_create(request):
if request.method == 'POST':
form = CourseForm(request.POST)
if form.is_valid():
form.save()
return redirect('teaching_courses')
else:
user = MbsUser.get_user_from_ad(request.session['username'])
if user.volume_preference is not None:
volume = user.volume_preference
form = CourseForm(initial={'volume': volume})
else:
form = CourseForm()
return render(request, 'teaching/course_create.html', {'form': form})
My CourseVolume模型:
class CourseVolume(CourseEnum):
published = models.BooleanField(default=False)
class Meta(CourseEnum.Meta):
db_table = 'mbs_course_volume'
如何解决这个问题?
答案 0 :(得分:0)
尝试为volume字段添加默认值。该值应该是相关表(CourseVolume)的现有ID。
volume = models.ForeignKey(CourseVolume, default=1)