Значение QuerySet для точного поиска должно быть ограничено одним результатом с использованием срезов и - PullRequest
0 голосов
/ 17 июня 2020

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

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

@login_required
def index(request, log_id):
    log = get_object_or_404(LogBook, pk=log_id)
    logmessages = LogMessage.objects.filter(logbook=log_id)
    logbook = LogBook.objects.get_or_create(logmessages=logmessages)
    form = CreateLogMessage(request.POST)
    if request.method == "POST":
        if form.is_valid():
            logbook.done_status = False
            logbook.save()            
            instance.save()

Мои модели:

class LogMessage(models.Model):
  logbook = models.ForeignKey(LogBook)

class LogDone(models.Model):
  logmessage = models.ForeignKey(LogMessage)
  done_status = models.BooleanField(default=False, verbose_name="Status")

Я пробовал несколько ответов от SO: Django: значение QuerySet для точного поиска должно быть ограничено одним результатом с использованием среза , но оно возвращает другую ошибку

get () вернул более одного сообщения LogMessage - он вернул 8!

Этот Значение QuerySet для точного поиска должно быть ограничено одним результатом с использованием среза - Django return снова, другая ошибка

Объект int не имеет атрибута all

Так что я не уверен, что делаю неправильно.

...