当我试图将一个属性与另一个具有M到M关系的属性关联时,我收到了以下错误:
get()返回多个主题--它返回了2!
你们能告诉我这意味着什么吗?或者提前告诉我如何避免这个错误?
模型
class LearningObjective(models.Model):
    learning_objective=models.TextField()
class Topic(models.Model):
    learning_objective_topic=models.ManyToManyField(LearningObjective)
    topic=models.TextField()LearningObjective.objects.all()输出
[<LearningObjective: lO1>, <LearningObjective: lO2>, <LearningObjective: lO3>]Topic.objects.all()输出
[<Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>, <Topic: Topic object>]视图
 def create_themen(request):
     new_topic=Topic(topic=request.POST['topic'])
     new_topic.save()
     return render(request, 'topic.html', {'topic': topic.objects.all()})
 def create_learning_objective(request):
     new_learning_objective=LearningObjective(learning_objective=request.POST['learning_objective'])
     new_learning_objective.save()
     new_learning_objective_topic=Topic.objects.get(topic=request.POST['topic'])
     new_learning_objective_topic.new_learning_objective_topic.add(new_learning_objective)
     return render( request, 'learning_objective.html', {
                    'topic': Topic.objects.all(),
                    'todo': TodoList.objects.all(),
                    'learning_objective': LearningObjective.objects.all()
                  })发布于 2017-08-07 17:23:07
我也有同样的问题,解决办法是obj = ClassName.objects.filter()
https://stackoverflow.com/questions/22063748
复制相似问题