Ошибка набора запросов при использовании get_or_create и objects.filter - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь добавить значение по умолчанию к модели при ее создании

мое представление

def index(request, log_id):
    log = get_object_or_404(LogBook, pk=log_id)
    logmessages = LogMessage.objects.filter(logbook=log_id)
    logdone, _ = LogDone.objects.get_or_create(logmessages=logmessages)
    form = CreateLogMessage(request.POST)
    if request.method == "POST":
        if form.is_valid():
            instance = form.save(commit=False)
            instance.reported_by = request.user
            instance.date = datetime.now()
            logbook.done_status = False
            logbook.save()
            instance.save()

Мои модели:

    class LogBook(models.Model):
    name = models.CharField(max_length=50, verbose_name="Nom du registre de maintenance")


class LogMessage(models.Model):
    logbook = models.ForeignKey(LogBook, on_delete=models.CASCADE, related_name="logmessages")


class LogDone(models.Model):
    logmessage = models.ForeignKey(LogMessage, on_delete=models.CASCADE, related_name="logdones")

Ожидаемый результат: журнал должен быть создан с использованием экземпляра сообщения журнала.

У меня ошибка

Значение QuerySet для точного поиска должно быть ограничено один результат с использованием нарезки.

Я посмотрел на SO, и хотя эта ошибка возникла, у меня ничего не работает, любая идея?

...