我将我的数据库连接到django。我想让用户(教师)插入学生的姓名,并获得某些科目的测试结果
我运行python3 manage.py inspectdb
并将其插入models.py
class Profilez(models.Model):
student = models.CharField(max_length=255)
schgroup = models.CharField(max_length=255)
class Meta:
managed = False
db_table = 'profilez'
class Schoolz(models.Model):
profilez_id = models.AutoField(primary_key=True)
lit = models.IntegerField(blank=True, null=True)
math = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'schoolz'
我在{
class StudentForm(forms.ModelForm):
SUB = (
('lit', 'lit'),
('math', 'math')
)
student = forms.CharField(max_length=150, label='', widget=forms.TextInput)
class Meta:
model = Schoolz
fields = ('student',)
在views.py
中:
def home(request):
if request.method == "POST":
form = StudentForm(request.POST)
if form.is_valid():
form1 = form.save(commit=True)
name = form1.student
ab=schoolz.objects.all()
context={
'name':name,
}
return render(request, 'book/analysis.html', context)
else:
form = StudentForm()
return render(request, 'book/search.html', {'form': form})
你能帮助我了解我做错了什么,以及如何为exmaple数学课程的某些科目获取价值吗
我将感谢您的帮助和指导,以理解和执行它。我挣扎了一个月
@尼娜
请查看关系>;这是对学生的总体想法;成绩表模型
因此,如果您需要搜索特定科目的学生成绩:
然后您将获得Nina的学生类实例
现在按关系获取数据:
你会得到QuerySet。那么就:
你将得到你的学生在特定科目上的分数。看,这是一种典型的关系。因此,您也可以使用其他过滤选项来获得所需的结果
根据您给定的模型:
您应该使用profile对象,而不是profile\u id,该对象将帮助您通过django ORM进行控制
因此,您的查询可以通过以下方式生成:
现在把它翻过来,拿到分数结果将是:
这里,您的模型关系:与Class10的配置文件是OneToOne
注释
在配置文件中添加一个字段,该字段对于每个学生都应该是唯一的。目前我假设姓名和姓氏的组合是唯一的
如果您使用ajax,则无需刷新即可获得分数。我目前使用的方法不是很好
在Class10中添加ForiegnKey字段
视图.py
forms.py
相关问题 更多 >
编程相关推荐