0

I want to get or create an object when a form is save

My view

@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()

My models :

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")

I tried several answers from SO : Django:The QuerySet value for an exact lookup must be limited to one result using slicing but it returns another error

get() returned more than one LogMessage -- it returned 8!

This one The QuerySet value for an exact lookup must be limited to one result using slicing-Django return again, a different error

'int' object has no attribute 'all'

So i am not sure what I am doing wrong.

Mcflan_g
  • 61
  • 7

0 Answers0