我正在尝试使用“Alternativas”表通过“Questoes”表的resposta与数据库建立一对多的关系。我想创建一个测验系统,其中问题存储在数据库的表中,答案在另一个表中,并以这种方式建立它们之间的关系,但在尝试拉回响列时返回以下错误,按照印刷品。
models.py:
class Questoes(models.Model):
id = models.IntegerField(max_length=10, primary_key=True)
enunciado = models.CharField(max_length=255, null=False)
alternativa_correta = models.CharField(max_length=255, null=True)
resposta = models.ManyToOneRel('resposta', to='Alternativas',
field_name='descricao')
class Alternativas(models.Model):
id = models.IntegerField(max_length=10, primary_key=True)
questao_id = models.ForeignKey('Questoes', on_delete=CASCADE,
db_column="questao_id")
descricao = models.CharField(max_length=255, null=True)
Views.py:
def dashboard(request):
if request.method == 'POST':
questoes = {}
questoes['questoes'] = Questoes.objects.get(id=1)
print('=======================================================================')
print(questoes)
print('=======================================================================')
for a in questoes.resposta:
print(a)
print('======================================================================')
答案 0 :(得分:1)
ManyToOneRel不是一个字段。它是一个内部类,是关系实现的一部分,而不是你应该在模型中使用的东西。
您已经在这些模型之间建立了多对一关系,因为您在Alternativas中定义了(@supports not (display:grid)) or (@media screen and (max-width:700px)){
/*my stylesheet*/
}
。删除ManyToOneRel定义并在视图中使用反向关系:
questao_id