Объект 'ManyToManyDescriptor' не имеет атрибута 'add' в Django с PostgreSQL
Я пытаюсь хранить некоторые данные в моей базе данных, где 2 различные модели ссылаются друг на друга с полями 'Many-to-Many'.
мой models.py
:
class CorrectAns(models.Model):
ansId = models.IntegerField(primary_key=True)
responseText1 = models.TextField(null=True, blank=True)
isDeleted = models.BooleanField(default=False)
questionRef = models.ManyToManyField('Questions')
class Questions(models.Model):
questionId = models.IntegerField(primary_key=True)
groupId = models.IntegerField(default=0)
questionTitle = models.TextField()
correctAnsRef = models.ManyToManyField(CorrectAns, related_name="questionReletedResponses")
мой views.py
:
for i in QuestionsList:
questionObj = Questions(
questionId = i['Id'],
groupId = i['GroupId'],
questionTitle = i['QuestionTitle'],
)
questionObj.save()
for j in i['Responses']:
correctAnsObj = CorrectAns.objects.create(
ansId = j['Id'],
responseText1 = myResponseText1,
isDeleted = j['IsDeleted'],
)
correctAnsObj.questionRef.add(questionObj)
correctAnsObj.save()
Questions.correctAnsRef.add(correctAnsObj)
return
теперь он показывает ошибку со строкой:
Questions.correctAnsRef.add(correctAnsObj)
Нравится:
'ManyToManyDescriptor' object has no attribute 'add'
Пожалуйста, подскажите, как я могу это исправить?
Вы должны добавить его к questionObj
, поэтому Questions
объект, а не Questions
класс:
questionObj.correctAnsRef.add(correctAnsObj)
Примечание: обычно модели Django дается сингулярное имя, поэтому
Question
вместо.Questions